当我在 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 工作?