一. 批處理介紹:
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都可以有任意多行
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/203586.html
標籤:其他
下一篇:關于frida的例外
