You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

拖拽文件到CMD批处理文件时,如何用变量获取传入的目标文件名

CMD批处理拖拽文件传参实现自动反编译方案

Windows批处理原生支持拖拽文件传参,不需要额外工具,直接修改批处理文件内容即可实现需求。

可用批处理代码

把你原有批处理的内容替换为以下代码:

@echo off
if "%~1"=="" (
    echo 请将待反编译的lua文件拖拽到本脚本图标上运行
    pause
    exit /b
)
java -jar unluac.jar "%~1" > "%~dpn1_decompiled.lua"
echo 反编译完成,输出文件为:%~dpn1_decompiled.lua
pause

变量说明

拖拽文件到批处理文件时,Windows会自动将拖拽对象的完整路径作为批处理的启动参数传入,可直接通过内置参数变量读取:

  • %1:指代第一个传入的参数(也就是你拖拽的第一个文件的完整路径),如果同时拖多个文件,依次用%2/%3...读取即可
  • %~1:自动去除参数首尾多余的引号,兼容路径带空格的场景
  • %~dpn1:是批处理参数的扩展写法,会自动提取传入文件的所在目录路径+不含后缀的文件名,用这个拼接输出文件名,可以保证反编译生成的文件和原lua文件在同一个文件夹下,不会出现路径错乱

注意:所有涉及文件路径的变量都要套英文双引号,否则路径包含空格、中文、特殊字符时命令会执行失败。

操作效果示意

操作示意图

保存修改后的批处理文件,之后直接把目标lua文件拖到这个cmd文件的图标上,就会自动执行反编译,不需要手动修改文件名。

内容的提问来源于stack exchange,提问作者BeyondCarl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 02:03:50