バッチスクリプトを使用して特定のテキストを .txt ファイルに書き込む

バッチスクリプトを使用して特定のテキストを .txt ファイルに書き込む

いくつかのプログラムをインストールするスクリプトがあります。

これらのインストールを記録するための一連のバッチ スクリプトを作成したいと思います。

このテキスト ファイルを選択し、実行するたびにファイルに 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

関連している:

答え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

一時停止

関連情報