自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

這些自動化場景,批處理腳本完全可以取代 Python!

開發(fā) 后端 自動化
提到自動化解決方案,相信大部分人會想到用 Python 語言,只需要根據(jù)功能場景,編寫 Python 腳本即可

 1. 前言

提到自動化解決方案,相信大部分人會想到用 Python 語言,只需要根據(jù)功能場景,編寫 Python 腳本即可。

[[336187]]

相反,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. 實用場景

下面聊聊幾個批處理比較實用的場景:

1、對文件夾或桌面下的文件進行分類,然后放置到不同的文件夾內(nèi),方便歸納管理

 

  1. @echo off 
  2. for %%i in (*) do (md %%~xi  
  3. move *%%~xi %%~xi) 
  4. pause 

你沒看錯,只需要 4 行代碼其中,for 用于遍歷當前文件夾,遍歷的結(jié)果用 do 分別去執(zhí)行后面的命令%%~xi 是截取 %%i 的擴展名,使用 md 命令新建一個文件夾move 的作用是:將源文件移動到新的文件夾中。

2、刪除當前目錄(包含子目錄)下所有的 build 文件夾

使用 Android Studio 編譯后,如果項目存在多個 Module,可能會存在多個 build 文件夾,可以使用下面的批處理腳本一鍵刪除。

 

  1. @echo off 
  2. :: 打開到當前目錄下 
  3. cd /d "%~dp0" 
  4.  
  5. echo 開始刪除 
  6.  
  7. :: 循環(huán)刪除 
  8. for /r /D %%i in (*build*) do rd /s /q "%%i" 
  9.  
  10. echo 刪除完成 
  11.  
  12. pause 

腳本很簡單,只需要打開項目根目錄,利用「 for + do 」循環(huán)遍歷,根據(jù)匹配規(guī)則刪除文件即可。

其中:%~dp0:批處理文件當前目錄/s:從所有子目錄下刪除文件。

/q:指定以「 安靜模式 」執(zhí)行刪除操作,刪除不需要確認相比 Python 腳本,批處理腳本代碼更簡潔。

3、執(zhí)行 Python 腳本定時任務(wù)

比如,我編寫完一個 Python 采集爬蟲,我想 5 分鐘執(zhí)行一次,這里可以使用 goto 命令。

 

  1. @echo off   
  2.  
  3. title 循環(huán)運行Python代碼 
  4.  
  5. :: 5分鐘執(zhí)行一次,單位為s 
  6. set INTERVAL=300 
  7.  
  8. :: 提前執(zhí)行一次,把執(zhí)行時間打印出來 
  9. echo 開始執(zhí)行 - %time
  10. python C:/test.py  
  11.  
  12. :: 使用timeout進行倒計時 
  13. timeout %INTERVAL% 
  14.  
  15. :: 新建一個任務(wù) 
  16. :Task   
  17. echo 開始執(zhí)行 - %time
  18. python C:/test.py  
  19. timeout %INTERVAL% 
  20.  
  21. :: 使用goto命令,開始跳轉(zhuǎn)到上面的任務(wù),開始執(zhí)行 
  22. goto Task   

4、Git 提交代碼

正常使用 git 命令行提交代碼( 不使用 IDE ),需要使用 git add .、git commit -m 提交日志、git pull、git push 四條命令。

使用批處理腳本,只需要雙擊一下,輸入提交日志就完事了。

具體代碼如下:

 

  1. @echo off 
  2. title 提交代碼 
  3. echo 提交代碼,簡化操作 
  4.  
  5. :: 狀態(tài) 
  6. git status 
  7.  
  8. :: set:等待輸入,賦值給變量msg 
  9. set /p commit_msg=代碼提交注釋: 
  10.  
  11. :: 提交代碼的 4 條命令 
  12. git add . 
  13. git commit -m %commit_msg% 
  14. git pull 
  15. git push 
  16.  
  17. echo 提交成功 
  18. pause  

5、清除系統(tǒng)垃圾文件

指定刪除模式、待刪除的路徑,調(diào)用 del 命令去刪除即可。

 

  1. @echo off 
  2. :: 配置 
  3. title Alic Feng batTool for Clean 
  4. color 03 
  5. mode con cols=42 lines=20 
  6.  
  7. echo executes cleaning,Please waiting... 
  8.  
  9. ::程序刪除系統(tǒng)無用文件開始 
  10. del /f /s /q  %systemdrive%\*.tmp 1>nul 2>nul 
  11. del /f /s /q  %systemdrive%\*._mp 1>nul 2>nul 
  12. del /f /s /q  %systemdrive%\*.log 1>nul 2>nul 
  13. del /f /s /q  %systemdrive%\*.gid 1>nul 2>nul 
  14. del /f /s /q  %systemdrive%\*.chk 1>nul 2>nul 
  15. del /f /s /q  %systemdrive%\*.old 1>nul 2>nul 
  16. del /f /s /q  %systemdrive%\recycled\*.* 1>nul 2>nul 
  17. del /f /s /q  %windir%\*.bak 1>nul 2>nul 
  18. del /f /s /q  %windir%\prefetch\*.* 1>nul 2>nul 
  19. del /f /s /q %windir%\temp\*.* 1>nul 2>nul 
  20. del /f /q  %userprofile%\cookies\*.* 1>nul 2>nul 
  21. del /f /q  %userprofile%\recent\*.* 1>nul 2>nul 
  22. del /f /s /q  "%userprofile%\Local Settings\Temporary Internet Files\*.*" 1>nul 2>nul 
  23. del /f /s /q  "%userprofile%\Local Settings\Temp\*.*" 1>nul 2>nul 
  24. del /f /s /q  "%userprofile%\recent\*.*" 1>nul 2>nul 
  25. ::刪除系統(tǒng)垃圾文件結(jié)束 
  26.  
  27. echo 清除系統(tǒng)垃圾完成?。?! 
  28. echo. & pause 

4. 最后

上面幾個簡單的小功能都是使用批處理腳本編寫的,實際上,Python 與批處理各有各的優(yōu)勢。

Python 語法更加優(yōu)雅易懂,大量的依賴庫可以直接使用;批處理在 PC 端某些特點的場景,無論是編寫還是使用,都有它特定的優(yōu)勢。

當然,可以使用轉(zhuǎn)換工具將批處理腳本轉(zhuǎn)為 EXE 可執(zhí)行程序,供 Python 去調(diào)用,完成一些復(fù)雜的自動化任務(wù)。

責任編輯:華軒 來源: AirPython
相關(guān)推薦

2011-05-07 10:43:08

投影屏幕投影

2011-12-23 17:09:57

自動化測試

2024-05-13 16:29:56

Python自動化

2024-11-13 13:14:38

2011-08-25 09:33:25

MySQL運維

2014-03-11 11:10:10

PowerShell自動化腳本

2021-04-28 16:49:27

自動化設(shè)備制藥

2022-05-27 10:19:03

Lombok?JavaJDK14

2022-02-17 13:03:28

Python腳本代碼

2024-08-16 21:51:42

2024-06-21 10:46:44

2024-11-11 16:55:54

2024-11-01 15:05:12

2018-01-15 10:30:00

AndroidPython 開發(fā)

2025-02-07 12:58:33

python自動化腳本

2022-08-08 07:35:37

云測試工具云存儲云計算

2022-08-05 09:06:07

Python腳本代碼

2024-10-28 19:36:05

2022-04-08 09:05:53

Arch LinuxLinux

2011-05-31 17:35:45

測試自動化QTP
點贊
收藏

51CTO技術(shù)棧公眾號