我正在尝试这个命令:
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'不被识别为内部或外部命令,可操作程序或批处理文件。
我的命令有什么不对?
答案 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