バッチ ファイルのステートメントの出力を変数に設定することは可能ですか。例:
findstr testing > %VARIABLE%
echo %VARIABLE%
ベストアンサー1
FOR /F "tokens=* USEBACKQ" %%F IN (`command`) DO (
SET var=%%F
)
ECHO %var%
私は常に USEBACKQ を使用するので、挿入する文字列や長いファイル名がある場合でも、コマンドを台無しにすることなく二重引用符を使用できます。
出力に複数の行が含まれる場合は、次のようにします。
SETLOCAL ENABLEDELAYEDEXPANSION
SET count=1
FOR /F "tokens=* USEBACKQ" %%F IN (`command`) DO (
SET var!count!=%%F
SET /a count=!count!+1
)
ECHO %var1%
ECHO %var2%
ECHO %var3%
ENDLOCAL