環境変数をcmd.exeのコマンドの出力に設定することは可能ですか
質問
に相当する必要があります
set ENVAR=`some-command`
Windows/cmd.exeスクリプトで。 Cygwinは選択肢ではありません。
ボーナスマークの場合:一般的なバックティックに相当するCMD.exeに相当しますか?
解決
迅速で汚い方法は、それをファイルにリダイレクトして、これを読んでいます。
some-command>out.txt
set /p ENVAR=<out.txt
おもう for
あなたも助けることができますが、正確な構文を覚えていません。ようなものを試してみてください
for /f "usebackq" %x in (`some-command`) do set ENVAR=%x
私はおそらくいくつか忘れていました token
また delim
オプションで...
他のヒント
「おそらく」ではなく、「Delims =」を最後のトークンとして指定することは絶対に必須です(手段は、デリミテーターなし)、変数に入力データの最初のスペースまでのみを含めることができない限り。
すなわち
FOR /F "usebackq delims=" %%a IN (`cygpath.exe -u "%~1"`) DO (
SET CMDNAME=%%~a
SHIFT
)
所属していません StackOverflow