我有一個安裝多個程式的腳本。
我想編寫一系列批次腳本來記錄這些安裝。
我希望找到一個命令,允許我選擇這個文字檔案並在每次運行時向該檔案寫入一行。
- 快閃記憶體安裝
- 批次檔運行並將文字「已安裝快閃記憶體」記錄到
c:\log\logfile.txt
- java安裝
- 批次檔運行並將文字“java已安裝”寫入
c:\log\logfile.txt
- 等等
這樣在完成後日誌檔就有
flash installed
java installed
chrome installed
so on
依此類推
但是,我發現很多用於寫入特定行或編輯特定文字字串的腳本。我沒有看到任何只寫入下一個空白行的腳本。也許我的處理方式是錯的。
答案1
到附加使用 Windows 命令列批次腳本將行寫入文字文件,您可以使用大於號兩次來使用輸出重定向>>
。例如
echo "java installed" >> c:\log\logfile.txt
有關的:
- 將標準輸出附加到終端機的文件中?(OSX也適用)
- 使用命令重定向運算符(XP但大部分仍然適用)
- 從命令提示字元重新導向錯誤訊息:STDERR/STDOUT
答案2
嘿,我實際上正在尋找其他問題的答案,並偶然發現了這個,所以我只是想發布我在上一份工作中製作的腳本
@echo off echo Flash 檢查
設定 KEY_NAMEFP=HklM\Software\macromedia\Flashplayer
設定 VALUE_NAMEFP=目前版本
for /F "usebackq tokens=3" %%A IN ( reg query "%KEY_NAMEFP%" /v "%VALUE_NAMEFP%" 2^>nul ^| find "%VALUE_NAMEFP%"
) do ( 設定 A=%%A )
回顯閃光%A%
echo Flash %A%>>%電腦名稱%.log
回顯 IE 檢查
設定 KEY_NAMEIE=HklM\Software\microsoft\internet explorer 設定 VALUE_NAMEIE=svcVersion for /F "usebackq tokens=3" %%B IN ( reg query "%KEY_NAMEIE%" /v "%VALUE_NAMEIE%" 2^>nul ^| find "%VALUE_NAMEIE%"
) do ( 設定 B=%%B )
echo IE版本%B%
echo IE版本%B%>>%computername%.log
回顯Java檢查
設定 KEY_NAMEJ=HKLM\SOFTWARE\JavaSoft\Java 執行環境 設定 VALUE_NAMEJ=CurrentVersion for /F "usebackq tokens=3" %%C IN ( reg query "%KEY_NAMEJ%" /v "%VALUE_NAMEJ%" 2^>nul ^| find "%VALUE_NAMEJ%"
) do ( set C=%%C )
回顯 Java 版本 %C%
echo Java版本%C%>>%電腦名稱%.log
暫停