4

私はこのコマンドを試しています:

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' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されません。

コマンドのどこが間違っていますか?

4

1 に答える 1

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
于 2012-09-04T20:03:43.577 に答える