在批处理文件的for循环中有空格的路径

时间:2012-09-04 12:24:36

标签: batch-file

我正在尝试这个命令:

for /f "tokens=3 usebackq" %%i in (`"%~dp0imagex.exe" /info "%~dp0DVD\sources\install.wim" ^| findstr /c:"Image Count:"`) do set ImageCount=%%i 
echo %ImageCount%

如果路径%~dp0包含“D:\ my work”之类的空格,则会出错。虽然我使用了usebackq和back quote而不是单引号。

错误信息是:'D:\ my'不被识别为内部或外部命令,可操作程序或批处理文件。

我的命令有什么不对?

1 个答案:

答案 0 :(得分:2)

如果这不起作用:

for /f "tokens=3 usebackq" %%i in (`"%~dp0imagex.exe" /info "%~dp0DVD\sources\install.wim" ^| findstr /c:"Image Count:"`) do set ImageCount=%%i 
echo %ImageCount%

试试这个:

pushd %~dp0
for /f "tokens=3 usebackq" %%i in (`imagex.exe" /info "DVD\sources\install.wim" ^| findstr /c:"Image Count:"`) do set ImageCount=%%i 
echo %ImageCount%
popd