我正在尝试这个命令:
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 和反引号而不是单引号。
错误信息是:'D:\my' 不是内部或外部命令,也不是可运行的程序或批处理文件。
我的命令有什么问题?
最佳答案
如果这不起作用:
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
关于batch-file - 批处理文件的for循环中带空格的路径,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12263458/