【匯總】bat批處理常用系統(tǒng)信息、命令、語法、示例、參數(shù)截取、擴展變量、系統(tǒng)自帶變量、外部命令
Windows 下使用批處理設置東西,是很方便的事。
一、系統(tǒng)自帶變量
1.1 變量
| 命令 | 示例 | 備注、說明 |
|---|---|---|
| chcp 936 | chcp 936>nul | Win7、Win10 默認設置命令行字符集(編碼) 936是GBK;(cmd 輸入 chcp 查看) |
| chcp 65001 | chcp 65001>nul | Win11默認設置命令行字符集(編碼)65001是UTF-8 mode con 查看當前字符集 |
| %errorlevel% | 命令執(zhí)行返回值 | 相當于Linux 的 $? |
| %PATH% | C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem | 系統(tǒng)指定可執(zhí)行文件的搜索路徑。環(huán)境變量路徑 |
| %PATHEXT% | .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH | 系統(tǒng)返回操作系統(tǒng)以為可執(zhí)行的文件擴大名的列表。示例: |
| %CMDCMDLINE% | cmd /c ""E:\2.bat" "注意: 這條用ls env: 輸出時沒有 | 本地返回用來啟動當前的 Cmd.exe 的正確命令行。bat腳本里使用有效。 |
| %DATE% | 2011-01-12 星期三 | 系統(tǒng)返回當前日期。使用與 date /t 命令雷同的格局。由 Cmd.exe 生成。有關(guān) date 命令的具體信息,請參閱 Date。 |
| %TIME% | 19:55:12.75 | 系統(tǒng) 返回當前時光。應用與 time /t 命令雷同的格局。由 Cmd.exe 天生。有關(guān) time 命令的具體信息,請參閱 Time。 |
| %OS% | Windows_NT | 系統(tǒng)返回操作系統(tǒng)名稱。Windows 2000 顯示其操作系統(tǒng)為 Windows_NT。 |
| %PROMPT% | $P$G | 本地 返回當前說明程序的命令提醒符設置。由 Cmd.exe 天生。 |
| %RANDOM% | 30848 | 系統(tǒng)返回 0 到 32767 之間的任意十進制數(shù)字。由 Cmd.exe生成。 |
1.2 bat腳本里使用才有效的變量
| 命令 | 結(jié)果示例 | 備注、說明 |
|---|---|---|
| %PROCESSOR_ARCHITECTURE:~% | x86 | 獲取系統(tǒng)硬件型號和位寬,系統(tǒng)返回處理器的芯片系統(tǒng)構(gòu)造。示例: |
| %PROCESSOR_IDENTFIER% | 系統(tǒng) 返回處理器說明。 | |
| %PROCESSOR_LEVEL% | 系統(tǒng) 返回計算機上安裝的處理器的型號。 | |
| %PROCESSOR_REVISION% | 系統(tǒng) 返回處理器的版本號。 | |
| %CMDEXTVERSION% | 2 | 系統(tǒng)返回當前的"命令處理程序擴大"的版本號。 |
| %CMDCMDLINE% | 系統(tǒng)默認 cmd 路徑 | |
| %NUMBER_OF_PROCESSORS% | 4 | 系統(tǒng)指定安裝在盤算機上的處理器的數(shù)目。 |
| %USERDOMAIN% | HP05281125 | 本地返回包括用戶帳戶的域的名稱。 |
| %COMPUTERNAME% | HP05281125 | 系統(tǒng)返回盤算機的名稱。 |
| %USERNAME% | Administrator | 本地返回當前登錄的用戶的名稱 |
| %COMSPEC% | C:\WINDOWS\system32\cmd.exe | 體系返回命令行說明器可履行程序的正確路徑。 |
1.3 變量路徑
| 命令 | 結(jié)果示例 | 備注、說明 |
|---|---|---|
| %SYSTEMDRIVE% | C: | 系統(tǒng)返回包括 Windows server operating system根目錄(即系統(tǒng)根目錄)的驅(qū)動器。 |
| %HOMEDRIVE% | C: | 系統(tǒng)返回銜接到用戶主目錄的本地工作站驅(qū)動器號。基于主目錄值而設置。用戶主目錄是在"本地用戶和組"中指定的。 |
| %HOMEPATH% | \Documents and Settings\Administrator | 體系返回用戶主目錄的完全路徑。基于主目錄值而設置。用戶主目錄是在"本地用戶和組"中指定的。 |
| %SYSTEMROOT% | C:\WINDOWS | 系統(tǒng)返回 Windows server operating system 根目錄的位置。 |
| %WINDIR% | C:\WINDOWS | 操作系統(tǒng)目錄 |
| %APPDATA% | WinXP:C:\Documents and Settings\Administrator\Application Data Win7:C:\Users\%username%\AppData\Roaming) |
本地返回默認情形下利用程序存儲數(shù)據(jù)的地位。 |
| %USERPROFILE% | WinXP:C:\Documents and Settings\Administrator Win7: C:\Users\Administrator |
當前用戶的HOME目錄。(win7開始,路徑在C:\Users\下) |
| %TEMP% | WinXP: C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp Win7: C:\Users\Administrator\AppData\Local\Temp |
系統(tǒng)和用戶返回對當前登錄用戶可用的運用程序所應用的默認臨時目錄。有些利用程序須要 TEMP,而其他利用程序則需要TMP。 |
| %TMP% | 同上 | |
| %ALLUSERSPROFILE% | C:\ProgramData | 本地 返回“所有用戶”配置文件的位置。 |
| %ProgramFiles% | C:\Program Files | |
1.4 網(wǎng)絡變量
| 命令 | 示例 | 備注、說明 |
|---|---|---|
| %HOMESHARE% | 系統(tǒng) 返回用戶的共享主目錄的網(wǎng)絡路徑。基于主目錄值而設置。用戶主目錄是在“本地用戶和組”中指定的。 | |
| %LOGONSERVER% | \\HP05281125 | 本地返回驗證當前登錄會話的域把持器的名稱。 |
二、擴展變量(bat腳本外部向內(nèi)部傳遞參數(shù)值)
2.1 普通參數(shù)
調(diào)用擴充變量最多為10個,由于%0表示bat文件本身,因此外部參數(shù)其實是%1至%9。
| 命令 | 說明 | 備注 |
|---|---|---|
| %0 | 代表bat本身文件名 | |
| %1 | 代表第一個參數(shù) | |
| %2 | 代表第二個參數(shù) | |
| …… | 略 | |
| %9 | 代表第九個參數(shù) | |
| %* | 從第一個參數(shù)開始的所有參數(shù) |
2.2 擴展~參數(shù)
| 命令 | 說明 | 備注 |
|---|---|---|
| %~0 | 等同 %0 | |
| %~1 | 刪除引號("),擴充 %1 | 獲取拖拽文件路徑 |
2.3 擴展~f參數(shù)
| 命令 | 說明 | 備注 |
|---|---|---|
| %~f0 | 獲取腳本的完整路徑 | 擴充 %0 |
| %~f1 | 獲取,參數(shù)1 文件完整路徑 | 擴充 %1 |
三、邏輯命令
| 命令 | 說明 | 備注 |
|---|---|---|
| > | 內(nèi)容清空后寫入 | |
| >> | 內(nèi)容追加寫入到已有文本后 | |
| <、>&、<& | 重定向符 | |
| >nul | 將結(jié)果拋棄 | |
| @ | 命令行回顯屏蔽符 | |
| % | 批處理變量引導符 | |
| ^ | 轉(zhuǎn)義字符 | |
| "" | 字符串界定符 | |
| & | 組合命令 | |
| && | 組合命令 | |
| || | 組合命令 | |
| 命令1 & 命令2 & 命令3 … | 無論前面命令是否執(zhí)行成功,照樣執(zhí)行后面 | 相當于Linux 的 “;” |
| 命令1 && 命令2 &&命令3… | 僅當,前面命令成功時,才執(zhí)行后面 | |
| 命令1 || 命令2 || 命令3… | 僅當,前面命令1失敗時.才執(zhí)行后面命令2 | |
四、字符串,替換、截取
字符串截取需要知道截取的起始位置和截取的字符串數(shù)目長度
表示方法為:str:~m,n 其中:str表示要截取的字符串,m表示截取的起始位置,n表示截取的字符串長度,常有如下幾種處理方式:
| 命令 | 說明 | 備注 |
|---|---|---|
| %val:world=man% | 將val值中的所有world替換成man | |
| %a:~0,n% | 表示從字符串a(chǎn)取左邊n位 | |
| %a:~-m% | 表示從字符串a(chǎn)取右邊m位 | |
| %a:~m,n% | 表示從字符串a(chǎn)從m+1位開始取n位 | |
| %a:~m,-n% | 表示從字符串a(chǎn),由m+1位開始,至倒數(shù)n+1位 | |
| %a:~m % | 表示從字符串a(chǎn) 由m+1位開始取右邊全部。 |
五、獲取文件信息
5.1 獲取執(zhí)行文件當前路徑
| 命令 | 說明 | 備注 |
|---|---|---|
| %~f0 | 當前文件所在路徑 |
@echo off
chcp 65001>nul
echo.
echo 運行文件: %~f0
echo.
pause

5.2 截取參數(shù)路徑
注意:下面的1是傳入的第一個變量,比如有個mm被定義為某一個文件的路徑,
那么可以使用%~tmm去獲取文件的修改時間
| 序號 | 命令 | 說明 | 備注 |
|---|---|---|---|
| 1 | %~d1 | C: | 獲得驅(qū)動器號 |
| 2 | %~p1 | \Users\admin\Desktop\ | 不帶驅(qū)動器號的路徑 |
| 3 | %~n1 | flag | 僅文件名,不含后綴 |
| 4 | %~x1 | .txt | 文件后綴 |
| 5 | %~s1 | C:\Users\admin\Desktop\flag.txt | 路徑指含有短名(完全路徑) |
| 6 | %~a1 | --a----- | 文件屬性(文件的安全屬性) |
| 7 | %~t1 | 2022/04/05 19:34 | 文件的日期/時間(文件的修改時間) |
| 8 | %~z1 | 37 | 文件的大小(文件的字節(jié)大小) |
| 9 | %~$PATH:1 | C:\Users\admin\Desktop\flag.txt | 查找列在 PATH 環(huán)境變量的目錄,并將 %1 |
| 10 | %1 | 同上 |

5.3 獲取腳本自身信息
| 命令 | 說明 | 備注 |
|---|---|---|
| %cd% | 當前路徑 | 當前路徑,表示執(zhí)行命令時所在的目錄 |
| %~dp0 | 批處理文件所在的目錄 | “d”為Drive的縮寫,即為驅(qū)動器,磁盤、“p”為Path縮寫,即為路徑目錄。cd %~dp0bin\ :進入批處理所在目錄的bin目錄 |

5.4 獲取CPU信息
echo %PROCESSOR_ARCHITECTURE:~%

系統(tǒng)CPU是AMD牌子,64位的
5.5 獲取CPU品牌
echo %PROCESSOR_ARCHITECTURE:~0,3%

5.6 獲取CPU位數(shù)
echo %PROCESSOR_ARCHITECTURE:~3%
或
echo %PROCESSOR_ARCHITECTURE:~-2%

5.7 獲取系統(tǒng)版本信息
ver

六、內(nèi)置命令
| 命令 | 說明 | 備注 |
|---|---|---|
| assoc | 顯示文件類型 | assoc .txt |
| ftype | 顯示所有文件類型關(guān)聯(lián) | |
| set | 獲取系統(tǒng)變量 | 相當于Linux 的 env |
| setx | 設置環(huán)境變量 | 用戶環(huán)境變量: setx "變量名" "變量值" 全局變量:setx "變量名" "變量值" /m |
| ver | 獲取系統(tǒng)版本 | |
| find | 文件中尋找字符串 | |
| findstr | 文件中尋找字符串 | |
| start | 調(diào)用其他可執(zhí)行程序 | |
| call | 標識符可以用于調(diào)用函數(shù),也可以調(diào)用別的bat腳本 | |
| type | 顯示文本文件的內(nèi)容 | |
| clip | 修改剪切板 | echo aa |
| mklink | 創(chuàng)建lnk 軟鏈接/硬鏈接/符號鏈接 | |
| mode | 配置系統(tǒng)設備 | |
| pushd | 路徑加入堆棧。用在目錄快速切換,類似Linux的 cd -。配合popd使用。例:pushd d:\aaa | |
| popd | 獲取堆棧路徑,并進入 | |
| taskkill | 結(jié)束進程 | |
| exit | 退出 | 使用/b參數(shù),設置退值 |
七、外部命令匯總
| 命令 | 說明 | 備注 |
|---|---|---|
| calc | 啟動計算器 | |
| certmgr.msc | 證書管理實用程序 | |
| charmap | 啟動字符映射表 | |
| chkdsk.exe | Chkdsk磁盤檢查 | |
| ciadv.msc | 索引服務程序 | |
| cleanmgr | 垃圾整理 | |
| cliconfg | SQL SERVER 客戶端網(wǎng)絡實用程序 | |
| Clipbrd | 剪貼板查看器 | |
| cmd.exe | CMD命令提示符 | |
| compmgmt.msc | 計算機管理 | |
| conf | 啟動netmeeting | |
| dcomcnfg | 打開系統(tǒng)組件服務 | |
| ddeshare | 打開DDE共享設置 | |
| devmgmt.msc | 設備管理器 | |
| dfrg.msc | 磁盤碎片整理程序 | |
| diskmgmt.msc | 磁盤管理實用程序 | |
| drwtsn32 | 系統(tǒng)醫(yī)生 | |
| dvdplay | DVD播放器 | |
| dxdiag | 檢查DirectX信息 | |
| eudcedit | 造字程序 | |
| eventvwr | 事件查看器 | |
| explorer | 打開資源管理器 | |
| fsmgmt.msc | 共享文件夾管理器 | |
| gpedit.msc | 組策略 | |
| iexpress | 木馬捆綁工具,系統(tǒng)自帶 | |
| logoff | -注銷命令 | |
| lusrmgr.msc | 本機用戶和組 | |
| magnify | 放大鏡實用程序 | |
| mem.exe | 顯示內(nèi)存使用情況 | |
| mmc | 打開控制臺 | |
| mobsync | 同步命令 | |
| mplayer2 | 簡易widnows media player | |
| Msconfig.exe | 系統(tǒng)配置實用程序 | |
| mspaint | 畫圖板 | |
| mstsc | 遠程桌面連接 | |
| narrator | 屏幕“講述人” | |
| net start messenger | 開始信使服務 | |
| net stop messenger | 停止信使服務 | |
| netstat -an | (TC)命令檢查接口 | |
| notepad | 打開記事本 | |
| Nslookup | IP地址偵測器 | |
| ntbackup | 系統(tǒng)備份和還原 | |
| ntmsmgr.msc | 移動存儲管理器 | |
| ntmsoprq.msc | 移動存儲管理員操作請求 | |
| odbcad32 | ODBC數(shù)據(jù)源管理器 | |
| oobe/msoobe /a | 檢查XP是否激活 | |
| osk | -打開屏幕鍵盤 | |
| packager | 對象包裝程序 | |
| perfmon.msc | 計算機性能監(jiān)測程序 | |
| progman | 程序管理器 | |
| regedit.exe | 注冊表 | |
| regedt32 | 注冊表編輯器 | |
| regsvr32 /u *.dll | 停止dll文件運行 | |
| regsvr32 /u zipfldr.dll | 取消ZIP支持 | |
| rononce -p | 15秒關(guān)機 | |
| rsop.msc | 組策略結(jié)果集 | |
| secpol.msc | 本地安全策略 | |
| services.msc | 本地服務設置 | |
| sfc /scannow | windows文件保護 | |
| sfc.exe | 系統(tǒng)文件檢查器 | |
| shrpubw | 創(chuàng)建共享文件夾 | |
| sigverif | 文件簽名驗證程序 | |
| sndrec32 | 錄音機 | |
| Sndvol32 | 音量控制程序 | |
| syncapp | 創(chuàng)建一個公文包 | |
| sysedit | 系統(tǒng)配置編輯器 | |
| syskey | 系統(tǒng)加密,一旦加密就不能解開,保護windows xp系統(tǒng)的雙重密碼 (慎用) | |
| taskmgr | 任務管理器 | |
| tourstart | xp簡介(安裝完成后出現(xiàn)的漫游xp程序) | |
| tsshutdn | 60秒倒計時關(guān)機命令 | |
| utilman | 輔助工具管理器 | |
| wiaacmgr | 掃描儀和照相機向?qū)?/td> | |
| winchat | XP自帶局域網(wǎng)聊天 | |
| winmsd | 系統(tǒng)信息 | |
| winver | 檢查Windows版本 | |
| wmimgmt.msc | 打開windows管理體系結(jié)構(gòu)(WMI) | |
| write | 寫字板 | |
| wscript | windows腳本宿主設置 | |
| wupdmgr | windows更新程序 |
免責聲明:本號所涉及內(nèi)容僅供安全研究與教學使用,如出現(xiàn)其他風險,后果自負。
參考、來源:
https://www.52pojie.cn/forum.php?mod=viewthread&tid=1261263
https://www.xiaomawang.cn/help/72135.html
http://www.manongjc.com/detail/27-rkzommdllnwwooe.html
http://www.rzrgm.cn/Pasple/p/15709914.html
http://681314.com/A/o8RGmQ7BuZ
https://www.bilibili.com/read/cv25554439/
https://blog.csdn.net/weixin_51575203/article/details/130188687 變量多種使用方法詳細解釋
http://www.rzrgm.cn/hjbf/p/13576852.html 系統(tǒng)自帶變量的詳細說明
http://www.rzrgm.cn/zhongchangliang/articles/16575313.html
http://www.rzrgm.cn/baiqiantao/p/9391707.html 《批處理 特殊符號 總結(jié)》
https://blog.csdn.net/baidu_41553551/article/details/123974284 外部命令匯總
https://blog.csdn.net/high_sky_fly/article/details/129632550 單行、行尾、多行注釋
https://blog.csdn.net/CSDN_wangmj/article/details/104151131 ^ 轉(zhuǎn)義字符
https://www.jianshu.com/p/5599830a8051 自動輸入Y, 刪除非空文件夾
https://blog.csdn.net/B11050729/article/details/131655470
https://blog.csdn.net/rubikchen/article/details/127035360 (exit /b)
https://blog.csdn.net/hfy1237/article/details/130123285 (assoc ftype)
https://blog.csdn.net/yanhanhui1/article/details/108871132 (setx)
https://blog.csdn.net/Y525698136/article/details/145174273 (setx)
http://www.rzrgm.cn/zhaoqingqing/p/4620402.html (Windows 批處理(bat)語法大全)
作者:悟透
原文鏈接:http://www.rzrgm.cn/wutou/p/17828997.html
來源:博客園
著作權(quán)歸原作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
浙公網(wǎng)安備 33010602011771號