for / f运行powershell转义字符

时间:2013-05-17 12:12:31

标签: automation cmd

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

1 个答案:

答案 0 :(得分:0)

在批处理文件中使用时,

%必须加倍%% - dbenham 2013年5月17日12:39