プロが教えるわが家の防犯対策術!

下記のとおりfindコマンドを実行すると結果が表示されます。
findコマンドの実行結果を直接環境変数に代入したいのですが、
できますでしょうか。
できれば「5」だけを環境変数に代入したいです。
よろしくお願いします。

C:\tmp>find /C "OPEN" aaa.txt

---------- AAA.TXT: 5

A 回答 (2件)

バッチファイルとして書くならこんな感じですね。



@echo off

for /f "tokens=3 delims= " %%a in ('find /C "OPEN" aaa.txt') do set RESULT=%%a

echo [%RESULT%]
    • good
    • 7
この回答へのお礼

期待どおりの動きをしてくれました。
どうもありがとうございました。

お礼日時:2005/07/01 02:19

こんな方法しか思いつきませんが、どうでしょう?


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)
    • good
    • 1
この回答へのお礼

どうもありがとうございました。

お礼日時:2005/07/01 02:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A