![バッチスクリプトを使用して特定のテキストを .txt ファイルに書き込む](https://rvso.com/image/1438667/%E3%83%90%E3%83%83%E3%83%81%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E7%89%B9%E5%AE%9A%E3%81%AE%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%82%92%20.txt%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AB%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%82%80.png)
いくつかのプログラムをインストールするスクリプトがあります。
これらのインストールを記録するための一連のバッチ スクリプトを作成したいと思います。
このテキスト ファイルを選択し、実行するたびにファイルに 1 行書き込むことができるコマンドを見つけたいと思っていました。
- フラッシュインストール
- バッチファイルが実行され、「フラッシュがインストールされました」というテキストが記録されます。
c:\log\logfile.txt
- Javaのインストール
- バッチファイルが実行され、「javaがインストールされました」というテキストが書き込まれます。
c:\log\logfile.txt
- 等々
ログファイルには終了時に
flash installed
java installed
chrome installed
so on
など
しかし、特定の行に書き込んだり、特定のテキスト文字列を編集したりするためのスクリプトはたくさん見つかります。次の空白行に書き込むだけのスクリプトは見つかりません。おそらく、やり方が間違っているのでしょう。
答え1
に追加Windowsのコマンドラインバッチスクリプトを使用してテキストファイルに1行追加する場合、大なり記号を2回使用して出力リダイレクトを使用できます>>
。たとえば、
echo "java installed" >> c:\log\logfile.txt
関連している:
- ターミナルからファイルに stdout を追加しますか?(OSXにも適用されます)
- コマンドリダイレクト演算子の使用(XP ですが、ほとんどはまだ適用可能です)
- コマンドプロンプトからのエラーメッセージのリダイレクト: STDERR/STDOUT
答え2
やあ、実は今何か他のことの答えを探していて、偶然これに出会ったので、前の仕事で作ったスクリプトを投稿しようと思ったんだ
@echo off echo フラッシュチェック
KEY_NAMEFP=HklM\Software\macromedia\Flashplayer を設定します
VALUE_NAMEFP=CurrentVersion を設定
/F "usebackq tokens=3" の場合 %%A IN ( reg query "%KEY_NAMEFP%" /v "%VALUE_NAMEFP%" 2^>nul ^| find "%VALUE_NAMEFP%"
) 実行 ( A=%%A を設定 )
エコーフラッシュ%A%
エコーフラッシュ%A%>>%コンピュータ名%.log
エコーIEチェック
KEY_NAMEIE=HklM\Software\microsoft\internet explorer を設定し、VALUE_NAMEIE=svcVersion を /F "usebackq tokens=3" に設定し、%%B IN ( reg query "%KEY_NAMEIE%" /v "%VALUE_NAMEIE%" 2^>nul ^| find "%VALUE_NAMEIE%"
) を実行します ( B=%%B を設定 )
IE バージョン %B% をエコーします
echo IE バージョン %B%>>%computername%.log
echo Java チェック
KEY_NAMEJ=HKLM\SOFTWARE\JavaSoft\Java Runtime Environment を設定し、VALUE_NAMEJ=CurrentVersion を /F "usebackq tokens=3" に設定し、%%C IN ( reg query "%KEY_NAMEJ%" /v "%VALUE_NAMEJ%" 2^>nul ^| find "%VALUE_NAMEJ%"
) を実行します ( C=%%C を設定 )
Java バージョン %C% をエコーします
Java バージョン %C% をエコー >>%computername%.log
一時停止