2011-10-24 8 views
2

コンピュータ名をlog.txtに書き込む小さなバッチファイルがあります。私はバッチファイルが現在ファイル内のコンピュータ名のリストをスキャンする必要があります。その名前が存在していれば、ただ終了して、その名前が存在していれば、それを書く必要があります。名前がまだテキストファイルにない場合は、コンピュータ名をテキストファイルに書き込みます。

私は今、私はそれがログを読んで、それだけがファイルに存在しない場合は、コンピュータ名を記述する必要があるファイルに

Echo %computername%>>C:\log.txt 

をコンピュータ名を書くために一部を書かれています。

答えて

3

これを試してみてください:%computername%ため

FINDSTR "^%computername%$" <C:\log.txt>NUL || ECHO %computername%>>C:\log.txt 

FINDSTRコマンド検索をC:\log.txtで、作ってください、それは(検索用語の周り^$シンボルは、より多くの情報のためFINDSTR /?を参照してくださいいくつかの他の名前の部分文字列ではありません)。 FINDSTRが見つからない場合は、ERRORLEVELが発生します。

||コマンドデリミタは、次のコマンド(ECHO)を呼び出す前に、ERRORLEVELの値をチェックする必要があることを意味します。 ERRORLEVELが発生した場合はコマンドが実行され、それ以外の場合は実行されません。

したがって、FINDSTRが見つからない場合、名前がファイルに追加されます。

+0

ありがとうございます – user1011061

関連する問題