環境変数をcmd.exeのコマンドの出力に設定することは可能ですか

StackOverflow https://stackoverflow.com/questions/3199696

  •  02-10-2019
  •  | 
  •  

質問

に相当する必要があります

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
)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top