コマンドの実行結果を変数に代入するのは、シェルスクリプトやPowerShellでは以下のようにすれば簡単にできる。

●シェルスクリプトの場合

#!/bin/sh
TEST=`cat test.txt | grep `

●PowerShellの場合

# Get Yesterday
$date = (Get-Date).AddDays(-1)
Sponsored Links

しかし、バッチファイルの場合はこんな簡単にはいかず、コマンドの実行結果を変数に代入するにはfor文を用いる必要がある。
以下のように記述する。

FOR /F "tokens=2 usebackq delims=^:" %%i in (`wmic csproduct get uuid ^| findstr /n /r "." ^| findstr /r "^2:"`) DO @set UUID_ORG=%%i

実行するコマンドを「in (~) Do」の()内に記述し、@以降でsetすればいい。


Written by blacknon

インフラエンジニア(…のつもり)。 仕事で使うならクライアントはWindowsよりはUNIXの方が好き。 大体いつも眠い。

Leave a Comment

メールアドレスが公開されることはありません。

*