自動化篇 | 這些自動化場景,批處理腳本完全可以取代 Python!
點擊上方“Python爬蟲與數(shù)據(jù)挖掘”,進行關(guān)注
回復(fù)“書籍”即可獲贈Python從入門到進階共10本電子書

1. 前言
提到自動化解決方案,相信大部分人會想到用 Python 語言,只需要根據(jù)功能場景,編寫 Python 腳本即可
相反,PC 端的?Batch 批處理?似乎快被忘記了,很多人對它嗤之以鼻,認為這么古老的腳本語言貌似沒什么用,Python 似乎可以取而代之
相比 Python 腳本,Batch 批處理腳本在某些場景下,使用更簡潔、方便、高效,即寫即用,不需要依賴 Python 環(huán)境,并且可以完全擺脫打包等繁瑣步驟
2. 批處理基礎(chǔ)
新建批處理腳本很簡單,只需要新建一個文本文件,然后修改編碼方式為:ANSI 編碼,接著編寫腳本邏輯代碼,最后保存文件以?.bat?結(jié)尾即可

Batch 常用命令包含:echo、::/rem、title/color、cd/md/dir、rd/del/copy、pause、goto、for、if、set、start等
其中:
@echo?off? 代表在本行開始關(guān)閉回顯,不顯示正在執(zhí)行的批處理命令及執(zhí)行結(jié)果,一般放在批處理文件第一行
echo 日志參數(shù):用于在控制臺輸出日志,偏于理解腳本執(zhí)行邏輯
::/rem 注釋內(nèi)容:注釋內(nèi)命令
title/color:設(shè)置窗體標題和背景顏色
cd:切換目錄
md:創(chuàng)建目錄
dir:顯示文件夾的內(nèi)容
rd:刪除一個目錄
del 刪除模式?文件:刪除文件。通過配置刪除模式,可以刪除任意文件,包含隱藏、只讀、系統(tǒng)文件
copy:拷貝文件
pause:暫停命令,一般放在批處理文件最后一行
goto:跳轉(zhuǎn)命令,一般和「 : 任務(wù)名稱?」搭配使用,執(zhí)行一個循環(huán)任務(wù),實例見第 3 節(jié)
for:循環(huán)命令,和 Python 中的 for 語法類似
if:判斷命令
set:設(shè)置一個變量
start:調(diào)用外部程序的命令
3. 實用場景
@echo?off
for?%%i?in?(*)?do?(md?%%~xi?
move?*%%~xi?%%~xi)
pause
@echo?off
::?打開到當前目錄下
cd?/d?"%~dp0"
echo?開始刪除
::?循環(huán)刪除
for?/r?/D?%%i?in?(*build*)?do?rd?/s?/q?"%%i"
echo?刪除完成
pause@echo?off??
title?循環(huán)運行Python代碼
::?5分鐘執(zhí)行一次,單位為s
set?INTERVAL=300
::?提前執(zhí)行一次,把執(zhí)行時間打印出來
echo?開始執(zhí)行?-?%time%
python?C:/test.py?
::?使用timeout進行倒計時
timeout?%INTERVAL%
::?新建一個任務(wù)
:Task??
echo?開始執(zhí)行?-?%time%
python?C:/test.py?
timeout?%INTERVAL%
::?使用goto命令,開始跳轉(zhuǎn)到上面的任務(wù),開始執(zhí)行
goto?Task??4、Git?提交代碼
正常使用 git 命令行提交代碼( 不使用 IDE ),需要使用 git?add .、git commit -m?提交日志、git pull、git push 四條命令
使用批處理腳本,只需要雙擊一下,輸入提交日志就完事了
具體代碼如下:
@echo?off
title?提交代碼
echo?提交代碼,簡化操作
::?狀態(tài)
git?status
:: set:等待輸入,賦值給變量msg
set /p commit_msg=代碼提交注釋:
::?提交代碼的 4 條命令
git?add?.
git?commit?-m?%commit_msg%
git?pull
git?push
echo?提交成功
pause?
5、清除系統(tǒng)垃圾文件
指定刪除模式、待刪除的路徑,調(diào)用?del 命令去刪除即可
@echo?off
::?配置
title?Alic?Feng?batTool?for?Clean
color?03
mode?con?cols=42?lines=20
echo?executes?cleaning,Please?waiting...
::程序刪除系統(tǒng)無用文件開始
del?/f?/s?/q??%systemdrive%\*.tmp?1>nul?2>nul
del?/f?/s?/q??%systemdrive%\*._mp?1>nul?2>nul
del?/f?/s?/q??%systemdrive%\*.log?1>nul?2>nul
del?/f?/s?/q??%systemdrive%\*.gid?1>nul?2>nul
del?/f?/s?/q??%systemdrive%\*.chk?1>nul?2>nul
del?/f?/s?/q??%systemdrive%\*.old?1>nul?2>nul
del?/f?/s?/q??%systemdrive%\recycled\*.*?1>nul?2>nul
del?/f?/s?/q??%windir%\*.bak?1>nul?2>nul
del?/f?/s?/q??%windir%\prefetch\*.*?1>nul?2>nul
del?/f?/s?/q?%windir%\temp\*.*?1>nul?2>nul
del?/f?/q??%userprofile%\cookies\*.*?1>nul?2>nul
del?/f?/q??%userprofile%\recent\*.*?1>nul?2>nul
del?/f?/s?/q??"%userprofile%\Local?Settings\Temporary?Internet?Files\*.*"?1>nul?2>nul
del?/f?/s?/q??"%userprofile%\Local?Settings\Temp\*.*"?1>nul?2>nul
del?/f?/s?/q??"%userprofile%\recent\*.*"?1>nul?2>nul
::刪除系統(tǒng)垃圾文件結(jié)束
echo 清除系統(tǒng)垃圾完成?。。?br>echo.?&?pause
4. 最后
上面幾個簡單的小功能都是使用批處理腳本編寫的,實際上,Python 與批處理各有各的優(yōu)勢。
Python 語法更加優(yōu)雅易懂,大量的依賴庫可以直接使用;批處理在 PC 端某些特點的場景,無論是編寫還是使用,都有它特定的優(yōu)勢。
當然,可以使用轉(zhuǎn)換工具將批處理腳本轉(zhuǎn)為 EXE 可執(zhí)行程序,供 Python 去調(diào)用,完成一些復(fù)雜的自動化任務(wù)。
-------------------?End?-------------------
往期精彩文章推薦:
【進階篇】Python+Go——帶大家一起另尋途徑提高計算性能
手把手教你用Python做個可視化的“剪刀石頭布”小游戲
Python基礎(chǔ)語法——代碼規(guī)范&判斷語句&循環(huán)語句

歡迎大家點贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持
想加入Python學(xué)習群請在后臺回復(fù)【入群】
萬水千山總是情,點個【在看】行不行
/今日留言主題/
隨便說一兩句吧~~
