一. 批處理介紹:
1. 批處理(Batch),也稱爲批處理腳本。
2. 批處理就是對某對象進行批量的處理,一般被認爲是一種簡化的腳本語言,也稱做宏,它應用於DOS和Windows系統中。
3. 批處理文件的擴展名爲bat。
4. 目前比較常見的批處理包含兩類:DOS批處理和PS批處理,DOS批處理是基於DOS命令的,用來自動地批量地執行DOS命令以實現特定操做的腳本。
5. 運行環境:Windows系統內嵌的命令解釋器(一般是COMMAND.COM或者CMD.EXE)解釋運行,相似於Unix中的Shell腳本,能夠用記事本直接編譯。
6. 書寫格式:逐行書寫在命令行中會用到的各類命令,更復雜的狀況須要使用if、for、goto等命令控制程序的運行過程。
二. 常見命令介紹:
1. echo命令:打開回顯或關閉請求回顯功能,或顯示消息。若是沒有任何參數,echo命令將顯示當前回顯設置。
Demo:
@echo on 打開回顯;
@echo off 關閉回顯;
echo hello world 顯示hello world
2. rem命令:註釋命令,相似於在C語言中的/*------*/,它並不會被執行,只是起一個註釋的做用,只有在編輯批處理時纔會被看到,主要用於方便修改。
3. ::命令:也具備rem的功能,但和rem仍是有區別的。當關閉回顯時,rem和::後的內容都不會顯示,但當打開回顯時,rem後面的內容會顯示出來,然而::後的內容都不會顯示,但當打開回顯時,rem及後面的內容會顯示出來,然而::後的內容仍不會顯示。
4. pause命令:暫停命令。運行pause命令時,將顯示下面的消息:Press any key to continue...(或:請按任意鍵繼續...)
5. call命令:從一個批處理程序調用另外一個批處理程序,而且不終止父批處理程序。call命令接受用做調用目標的標籤。
語法:
call [路徑文件名][標籤]
Demo:
call C:\Users\wang.xinzheng\Desktop\Test.bat
注意:
直接使用"C:\Users\wang.xinzheng\Desktop\Test.bat"也能夠調用該文件,但會終止父批處理程序。
6. start命令:調用外部程序,全部的DOS命令和命令行程序均可以由start命令來調用。
Demo:
start calc.exe 打開計算器
MIN calc.exe 打開並最小化計算器
7. goto命令:跳轉指令。程序指針跳轉到指定的標籤,從標籤後的第一條命令開始繼續執行批處理程序。
語法:
goto label(label標籤的名字能夠隨便起,前面加:表示這個字母是標籤)
Demo:
:A
start
goto A
8. set命令:顯示、設置或刪除變量。
顯示變量:
set 顯示批處理當前已定義的全部變量及其值。
set s 顯示全部以s開頭的變量及值。
設置變量:
set aa=abcd 就是把aa定義爲abcd。
調用變量:
%aa% 在變量兩邊加上個百分號。
刪除變量:
set aa= 若變量aa已被定義,則刪除變量aa;若aa還沒有定義,則此句命令無實質意義。
9. 回顯屏蔽@:表示不顯示@後面的命令
10. 重定向1 ">" 和 ">>":將輸出信息重定向到指定的設備或文件,系統默認輸出到顯示器。
Demo:
echo aaaaa>a.txt 將信息輸出到文件a.txt中
echo aaaaa>>a.txt 將信息輸出到文件a.txt中
注意:
若a.txt不存在,無差異;
若a.txt存在,">"會先擦除a.txt的信息,再將aaaaa寫入;">>"不會擦除a.txt的信息,直接在a.txt的末尾寫入aaaaa;網絡
11. 重定向2 "<":將輸入信息來源重定向爲指定的設備或文件。系統默認從顯示器讀取輸入信息。
Demo:
@echo off
echo abcdefg--這是文件a.txt中的信息>a.txt
echo 請任意輸入字符,以回車結束:
set /p inf=
rem cls
echo 【從屏幕得到的輸入信息】
echo %inf%
set /p inf=<a.txt
echo 【從文件得到的輸入信息】
echo %inf%
pause
12. 管道符號|:將管道符號前面命令的輸出結果重定向輸出到管道符號後面的命令中去,做爲後面命令的輸入。
使用格式:command_1|command_2
Demo1:
@echo off
echo bbbb>b.txt
del /p b.txt
pause
Demo2:
@echo off
echo bbbb>b.txt
echo y|del /p b.txt
pause
結果對比:Demo2運行直接會輸入y運行
13. 轉義符^:將特殊符號轉化爲通常符號,即剝離特殊符號的特殊地址。特殊符號指:| & > <。
Demo:
echo ^>: 屏幕上輸出"^>"
14. 邏輯命令符:包括& && ||
做用解釋:
&: 做用是用來鏈接n個DOS命令,並把這些命令按順序執行,而無論是否有命令執行失敗;
&&:&&前面的命令成功執行時,執行&&後面的命令,不然不執行;
||:||前面的命令失敗時,執行||後面的命令,不然不執行;
15. 文件夾管理命令:
cd: 顯示當前目錄名或改變當前目錄
md: 建立目錄
rd: 刪除一個目錄
dir: 顯示目錄中的文件和子目錄列表
tree: 以圖形顯示驅動器或路徑的文件夾結構
path: 爲可執行文件顯示或設置一個搜索路徑
copy: 複製文件和目錄樹
16. 文件管理命令:
type: 顯示文本文件的內容
copy: 將一份或多份文件複製到另外一個位置
del: 刪除一個或數個文件
move: 移動文件並重命名文件和目錄
ren: 重命名文件
replace: 替換文件
attrib: 顯示或更改文件屬性
find: 搜索字符串
fc: 比較兩個文件或兩個文件集並顯示它們之間的不一樣
17. 網絡命令:
ping: 進行網絡鏈接測試、名稱解析
ftp: 文件傳輸
net: 網絡命令集及用戶管理
telnet: 遠程登錄
ipconfig: 顯示、修改TCP/IP設置
msg: 給用戶發送消息
arp: 顯示、修改局域網的IP地址-物理地址映射列表
18. 系統管理:
at: 安排在特定日期和時間運行命令和程序
shutdown: 當即或定時關機或重啓
tskill: 結束進程
taskkill: 結束進程(比tskill高級)
taslist: 顯示進程列表
sc: 系統服務設置與控制
reg: 註冊表控制檯工具
powercfg: 控制系統上的電源設置
19. 幫助信息:在cmd中輸入命令+/?便可查看該命令的幫助信息。
Demo:
dir /?
三. 語句結構:
1. 選擇結構(if語句):
a. 基本介紹:實現條件判斷,包括字符串比較、存在判斷、定義判斷等。經過條件判斷,if語句便可以實現選擇功能。
b. 字符串比較:if語句僅可以對兩個字符(串)是否相同、前後順序進行判斷
命令格式:
IF [not] string1 compare-op string2 command1 [else command2]
經常使用比較操做符compare-op:
== 等於
EQU 等於
NEQ 不等於
LSS 小於
LEQ 小於或等於
GTR 大於
GEQ 大於或等於
Demo:
@echo off
set str1=abcd1234
set str2=ABCD1234
if /i %str1% EQU %str2% (echo 字符串相同) else (echo 字符串不一樣)
pause
補充說明:/i 設定不區分字符串大小寫
c. 存在判斷:判斷文件或文件夾是否存在
命令格式:
IF [NOT] EXIST filename command1 [else command2]
Demo:
@echo on
if not exist %Test (
md Test1
) else md Test2
pause
補充說明:
①. 存在判斷既能夠判斷文件也能夠判斷文件夾
②. %Test即表明該處理的全稱(包括驅動器盤符、路徑、文件名和擴展類型)
③. if語句的多行書寫要求:
command1的左括號必須和if在同一行
else必須和command1的右括號同行
command2的左括號必須與else同行
command1和command2均可以有任意多行
工具