windows - %a 和 %%a 突然分别在 Win 10 cmd 和批处理文件中不起作用?

标签 windows batch-file cmd ffmpeg

我试图使用 FFMPEG 将 .flac 的文件夹批量转换为 .mp3,但是当我运行我的批处理文件时,我得到了“%F 此时意外”错误,即使我在批处理中使用了“%%F”文件。为了测试真正的问题是什么,我直接将 %F 的变体输入到 cmd 中,但也无法让它工作。 Windows 10 在 for 循环中使用变量名有什么变化吗?

我试过的cmd命令:

C:\Users\yt\Music\Joe Hisaishi (Classical Guitar) - Copy>for "%F" in     (*.flac) echo %F
"%F" was unexpected at this time.

C:\Users\yt\Music\Joe Hisaishi (Classical Guitar) - Copy>for %F in     (*.flac) echo %F
echo was unexpected at this time.

C:\Users\yt\Music\Joe Hisaishi (Classical Guitar) - Copy>for "%%F" in     (*.flac) echo %%F
"%%F" was unexpected at this time.

C:\Users\yt\Music\Joe Hisaishi (Classical Guitar) - Copy>for "%f" in     (*.flac) echo %f
"%f" was unexpected at this time.

C:\Users\yt\Music\Joe Hisaishi (Classical Guitar) - Copy>for "%g" in     (*.flac) echo %g
"%g" was unexpected at this time.

C:\Users\yt\Music\Joe Hisaishi (Classical Guitar) - Copy>for "%g" in     ("*.*") echo %g
"%g" was unexpected at this time.

C:\Users\yt\Music\Joe Hisaishi (Classical Guitar) - Copy>for "%g" in     ("*.*") do echo %g
"%g" was unexpected at this time.

FFMPEG 的原始批处理文件
cd "\Users\yt\Music\Joe Hisaishi (Classical Guitar) - Copy"
echo in directory "%cd%"
pause
for "%%F" in ("*.flac") do (
echo converting "%%F"
"C:\Users\yt\Downloads\OtherApps\FFMPEG\bin\ffmpeg.exe" -i "%%F"     -codec:a libmp3lame -qscale:a 2 "%%~nF.mp3"
echo del "%%F"
)
cd "%~dp0"

最佳答案

不要使用

FOR "%F" ...

在命令行上但是
FOR %F ...

在脚本中你必须使用 %%而不是 % :
FOR %%F ...

但不是
FOR "%%F" ..
"%G" 的原理相同( "%%G" ),使用 %G ( %%G ) 代替

关于windows - %a 和 %%a 突然分别在 Win 10 cmd 和批处理文件中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41648655/

相关文章:

c++ - 为什么 ETW EventWriteString 有二进制负载

java - 自动化 jar 输入

windows - 找到一个程序并通过命令提示符运行它

备用 Windows Safari 字体的 css 代码

Windows Batch File : for/F read only first line of mylist. txt 然后删除第一行

css - 使用 CSS 设置特定字体

bash - 如何将 chdir 分配给 .bat 中的变量?

windows - Windows批处理下无法使用 "git.exe fetch origin"内的管道

java - 我在设置 javac 的类路径时遇到问题

Windows 批处理脚本从 FTP 下载 N 个最新文件并将它们提供给 EXE 文件