一,bat腳本常用的的輸出命令是“echo 輸出內容”,
可以利用echo將文本輸出到cmd窗口或文件。bat腳本是不區分大小寫的腳本語言,因此大小寫都可以。
例如:
REM 在命令行窗口輸出echo Hello World!pause
則會在命令行窗口輸出Hello World!
通過bat打開命令行窗口運行上面的命令還會輸出CMD運行相關的提示信息。如果想關閉多余的輸出可以用 @ECHO OFF,示例:
@ECHO OFFREM 在命令行窗口純凈的輸出echo Hello World!pause
二,輸出內容到文件
可以使用重定向將輸出結果保存到文件中。
>符號和>>符號為兩個常用的重定向符號。>會將原始文件的內容清空,>>會在文件后面追加內容,如果文件不存在則創建文件。
具體使用方法如下
echo Hello World >file.txtecho Hello World 1>file.txtecho 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 offcall "批處理路徑">D:/結果.txtstart notepad D:/結果.txtREM 再例如下面這樣@echo offcall "D:/procedure.bat">D:/結果.txtstart notepad D:/結果.txt
【實例】:
@ECHO OFFecho 檢查并停止相關服務....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 name="%%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 pauseexit /B
將上面的腳本復制到txt里面,并另存為ANSI格式,重命名為:WinService-Stop.bat
,然后在相同目錄下新建一個txt,復制下面這段:
set ws=WScript.CreateObject("WScript.Shell")ws.Run "WinService-Stop.bat",0
將上面的腳本復制到txt里面,并另存為ANSI格式,重命名為:啟動bat文件.vbs,它的作用是用了靜默啟動bat腳本而隱藏CMD窗口,隱藏命令行窗口使用戶無感知。注意兩個文件在同一目錄。
然后我們在“計算機-管理-任務計劃程序”里面新增一個任務計劃,定時執行“啟動bat文件.vbs”就可以自動關閉Windows系統的自動更新啦。
總結
以上所述是小編給大家介紹的bat腳本輸出日志的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
新聞熱點
疑難解答
圖片精選