0

当我在 cmd 提示符下运行以下命令时,它工作正常

pushd "C:\Converter"
for /f "delims=" %g in ('dir "C:\Toconvert" /b /s /ad') do (powershell .\BatchConvert.ps1 "%g" 10)
popd

它成功执行命令。这是输出:

C:\Converter>(powershell .\BatchConvert.ps1 "C:\Toconvert\Prego!PDF" 10 )

当我尝试在 .bat 文件中运行相同的命令时,它失败了。使用 cmd 行运行 bat 文件,我发现它正在生成:

C:\Converter>for /f "delims=" \Toconvert" /b /s /ad') do (powershell .\BatchConvert.ps1 "g" 10)

为什么它会在括号前删除 "%g in ('dir "C:" 以及为什么它会在 do 命令中删除 %?如何转义字符以使其作为 .bat 工作?

4

1 回答 1

0

在批处理文件中使用时,% 必须加倍为 %% – dbenham 2013-05-17 12:39

于 2014-04-09T13:39:52.600 回答