bat腳本輸出日志


一,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 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 pause
exit /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系統的自動更新啦。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM