一,bat指令碼常用的的輸出命令是「echo 輸出內容」,可以利用echo將文字輸出到cmd視窗或檔案。bat指令碼是不區分大小寫的指令碼語言,因此大小寫都可以。
例如:rem 在命令列視窗輸出
echo hello world!
pause
則會在命程式設計客棧令行視窗輸出hello world!
通過bat開啟命令列視窗執行上面的命令還會輸出cmd執行相關的提示資訊。如果想關閉多餘的輸出可以用 @echo off,示例:
@echo off
rem 在命令列視窗純淨的輸出
echo hello world!
pause
二,輸出內容到檔案
可以使用重定向將輸出結果儲存到檔案中。
>>符號為兩個常用的重定向符號。>會將原始檔案的內容清空,>>會在檔案後面追加內容,如果檔案不存在則建立檔案。
具體使用方法如下
echo hello world >file.txt
echo hello world 1>file.txt
echo hello world 2>file.txt
執行後,會將hello world輸出到file.txt中。兩行**等價。其中1的意思是代表將標準輸出重定向,標準輸出即正常的輸出內容。而2>file.txt則代表將錯誤資訊輸出到file.txt中,這樣hello world會顯示在螢幕上,只有報錯的資訊會儲存在file.txt中。
三,輸出內容追加到檔案
示例:echo hello world >>file.txt
上面的語句使用了2,表示追加內容,如果file.txt內容不是空,則hello world會在最後一行的後面另起一行儲存。
四,將bat檔案的輸出結果放到txt檔案中
有時候我們會寫批處理執行過程,會集中輸出很多內容,又不想在bat裡面頻繁的試用輸出到檔案命令,怎麼辦呢?
我們可以嘗試下面的辦法:
@echo off
call "批處理路徑">d:\結果.txt
start notepad d:\結果.txt
rem 再例如下面這樣
@echo off
call "d:\procedure.bat">d:\結果.txt
start notepad d:\結果.txt
【例項】:
@echo off
echo 檢查並停止相關服務....
echo ------------------------------
for %%i in (wuauserv,yun-wps) do (
sc query "%%i" >nul && (
程式設計客棧 echo %date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,8%開始停止服務:%%i >>"%date:~0,4%-%date:~5,2%-%date:~8,2%_%time:~0,2%.txt"
net stop "%%i"
::@echo 開始解除安裝服務:%var%
::sc delete %var%
rem net start "%%i"
rem wmic service where www.cppcns.comname="%%i" get state|findstr /i "running" && ( echo %%i已啟動。 )||( echo %%i未啟動!請檢視日誌資訊。 )
)||(
echo %date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,8%服務不存在:%%i >"%date:~0,4%-%date:~5,2%-%date:~8,2%_%time:~0,2%.txt"
))echo 執行完成
rem pause
exit /b
將上面的指令碼複製到txt裡面,並另存為ansi格式,重新命名為:winservice-stop.bat,然後在相同目錄下新建乙個txt,複製下面這段:
set ws=wscript.createobject("wumvjacqscript.shell")
ws.run "winservice-stop.bat",0
將上面的指令碼複製到txt裡面,並另存為ansi格式,重新命名為:啟動bat檔案.vbs,它的作用是用了靜默啟動bat指令碼而隱藏cmd視窗,隱藏命令列視窗使使用者無感知。注意兩個檔案在同一目錄。
程式設計客棧; 然後我們在「計算機-管理-任務計畫程式」裡面新增乙個任務計畫,定時執行「啟動bat檔案.vbs」就可以自動關閉windows系統的自動更新啦。
總結本文標題: bat指令碼輸出日誌的方法
本文位址:
VB指令碼 BAT指令碼呼叫VB指令碼的方法
毫無疑問地,是懶惰促進或引領著人類科技的發展。工作中使用一些小工具可以大幅提高工作效率,釋放體力勞動,減少手工操作與守候時間,何樂而不為呢?在數通平台軟體的效能或功能穩定性測試過程中,經常需要用一台除錯機 一般是作業系統為 windows 的計算機 通過 securecrt 等遠端登入軟體,連線一台...
BAT指令碼重定向所有輸出到某個檔案的方法
最近遇到個問題,需要根據命令返回的資訊判斷這個命令是否執行成功,思路就是把所有的資訊重定向到乙個檔案裡面,然後查詢某個字串,可是因為這個命令後面有一堆的資訊,重定向如果加在命令後面就只能獲取最近的一條資訊,完蛋。例如 fastboot.exe writekeys會有如下的資訊 opening com...
shell指令碼實現分日誌級別輸出的方法
shell指令碼如何優雅的記錄日誌資訊,下面讓我們一步一步,讓shell指令碼的日誌也變得高階起來,實現如下功能 設定日誌級別,實現可以輸出不同級別的日誌資訊,方便除錯 日誌格式類似為 日誌級別 時間 funcname 函式名 lineno 行號 日誌資訊 不同級別,設定不同顏色 讓其變為函式庫檔案...