- ベストアンサー
コマンド実行結果を環境変数に代入する方法ありますか
下記のとおりfindコマンドを実行すると結果が表示されます。 findコマンドの実行結果を直接環境変数に代入したいのですが、 できますでしょうか。 できれば「5」だけを環境変数に代入したいです。 よろしくお願いします。 C:\tmp>find /C "OPEN" aaa.txt ---------- AAA.TXT: 5
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
バッチファイルとして書くならこんな感じですね。 @echo off for /f "tokens=3 delims= " %%a in ('find /C "OPEN" aaa.txt') do set RESULT=%%a echo [%RESULT%]
その他の回答 (1)
- G_Amino
- ベストアンサー率76% (13/17)
回答No.1
こんな方法しか思いつきませんが、どうでしょう? tmp1.txt と tmp2.txt が実行結果を一時保存するファイルで、 test が環境変数とします。 find /C "OPEN" aaa.txt>tmp1.txt more +1 tmp1.txt>tmp2.txt set /P test=<tmp2.txt set test=%test:*: =% 1行目でコマンド実行結果を一時ファイルに保存し、2行目で先頭の空白行を削除して保存しなおす。 3行目で一時ファイルの内容を目的の環境変数に代入。 4行目は記号ばかりでわかりにくいですが、環境変数の中から「: 」(コロン、スペース)のパターンを検索して、その位置までの文字列を削除し、再度同じ環境変数に代入しています。 (テスト環境:WindowsXP SP2)
質問者
お礼
どうもありがとうございました。
お礼
期待どおりの動きをしてくれました。 どうもありがとうございました。