1

設定したいのですが 、 "var3=%(title)s.%(ext)s" cmd で解釈せ ず に文字どおりに「設定」する方法はありますか?%(title)s.%(ext)s(ext)s%(title)s.%(ext)

EDIT誰かがスクリプト全体を見たいと思っていました

cd C:\youtube-dl
youtube-dl -U 
echo Remember to press enter only AFTER update is complete
pause
set /p "var1=Enter URL: " %=% pause
set "var2=%date:/=-%" 
set /p var3=%(title)s.%(ext)s
youtube-dl "%var1%" -ci -o C:\Users\Admin\Desktop\Music\Download_dl\%var2%\%var3% -f best -x --    no-mtime --add-metadata --write-thumbnail  
cd C:\Users\Admin\Desktop\Music\Download_dl\%var2%
del *.mp4
4

2 に答える 2

1

バッチ ファイルで%は、特別な意味があります。あなたのコードで

set "var3=%(title)s.%(ext)s"
          ^.........^

示されたパーセント記号は、 という変数の名前を区切ります(title)s.。そして、この変数は定義されていません(出力からだと思います)ので、得られるものは

set "var3=(ext)s"

目的の結果を得るには、パーセント記号をエスケープする必要があります

set "var3=%%(title)s.%%(ext)s"
于 2014-03-11T17:07:43.060 に答える