Pocket

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

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

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

●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すればいい。

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

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