【发布时间】:2019-03-04 15:09:31
【问题描述】:
这是我在你的帮助下完成的最后一个代码。
@echo off
Title ..::RoboCoveriZer: Auto add covers to your MKV::..
Mode con cols=81 lines=9
IF "%~1"=="" Goto:Error
set mkvpredt=mkvpropedit.exe
pushd "%~1"
for %%I in ("*.mkv") DO (
"%mkvpredt%" "%%~nxI" --attachment-name "cover" --attachment-mime-type "image/jpeg" --add-attachment "%%~nI.jpg"
)
pause
exit
有什么方法可以打开命令窗口并让它等待拖放以启动进程?
【问题讨论】:
-
不要使用
[]。 Use quotes instead -
@Stephan 是正确的。替换:
IF [%1] EQU [] Goto:Error为:IF "%1"=="" Goto :Error -
你有
IF "%1"和pushd "%~1"。处理第一个参数的不一致使得"%1"或"%~1"可能失败。如果引用了参数并且您添加了引号,则引号配对可能会更改。我会使用"%~1",因为它会去除引号并添加引号,因此与原始参数的引用相同。 -
@michael_heath 你的意思是这样吗? IF "%~1" ?
标签: batch-file