一篇文章帶你讀懂批量處理命令
批處理,顧名思義,批量處理,它可以將復雜的事情變得簡單,最早出現(xiàn)在dos操作系統(tǒng)中,也就是我們經(jīng)常說的cmd黑窗口,這在早期沒有gui界面的時候用的是最多的,而且命令比較豐富,雖然現(xiàn)在有很多功能都被封裝到了軟件中,但是你會發(fā)現(xiàn)在dos中執(zhí)行操作會更快,哪怕會比較麻煩,如果你無法忍受慢節(jié)奏。
下面就基本命令咱們先看看吧,首先打開cmd窗口:
你可以通過 快捷鍵 徽標鍵+R,然后輸入cmd,也可以點擊window系統(tǒng)右下角,然后點擊運行,輸入cmd即可。
下面我們來看看吧:
打開后可以看到這幅畫面,我們可以對他進行一些操作,讓他看起來 炫酷一點。
我們先看看怎樣操作, 打開屬性對話框:
最后我們就得到了這樣一個窗口,比以前的是不是要炫酷一點了,哈哈哈哈。
那么dos 里面到底有哪些命令呢?下面我們來看看:
這樣就獲取到了一部分dos操作系統(tǒng)的命令,也是可以進行批量處理的命令,所以我們形象的稱之為批處理腳本。那么這些命令都是怎樣使用的了。
一、顯示,暫停,清除,注釋
1.echo 輸出信息
2.pause 暫停
不信,你可以看看這個:
3.cls 清除
清除之后他是沒有任何顯示的,清除即清空前面的所有內容。
4.rem 注釋
另外 :: 也可以起到 rem 的注釋作用, 而且更簡潔有效。
二、文件目錄操作
1. cd 切換目錄
2. md 創(chuàng)建文件夾
3. ren重命名
4. move移動文件(夾)
5. del 刪除文件
6. copy xcopy 復制文件
很多人覺得這兩個用法一樣,其實不一樣的,當你復制超大型文件時,我想每個人基本都會遇到復制緩慢的尷尬,如果你善用dos命令,可以讓你把效率提高至少十倍。copy本身比系統(tǒng)的復制要快,但xcopy更快。
7.dir 列舉文件名
可以打印出當前目錄所有文件(夾)名
8. 文件屬性
三、網(wǎng)絡命令
1.net 顯示設置網(wǎng)絡用戶組賬號
- 此命令的語法是:
- NET
- [ ACCOUNTS | COMPUTER | CONFIG | CONTINUE | FILE | GROUP | HELP |
- HELPMSG | LOCALGROUP | PAUSE | SESSION | SHARE | START |
- STATISTICS | STOP | TIME | USE | USER | VIEW ]
2.netstat 顯示協(xié)議統(tǒng)計和當前 TCP/IP 網(wǎng)絡連接
- NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [interval]
- -a 顯示所有連接和偵聽端口。
- -b 顯示在創(chuàng)建每個連接或偵聽端口時涉及的可執(zhí)行程序。
- 在某些情況下,已知可執(zhí)行程序承載多個獨立的
- 組件,這些情況下,顯示創(chuàng)建連接或偵聽端口時涉
- 及的組件序列。此情況下,可執(zhí)行程序的名稱
- 位于底部[]中,它調用的組件位于頂部,直至達
- 到 TCP/IP。注意,此選項可能很耗時,并且在您沒有
- 足夠權限時可能失敗。
- -e 顯示以太網(wǎng)統(tǒng)計。此選項可以與 -s 選項結合使用。
- -f 顯示外部地址的完全限定域名(FQDN)。
- -n 以數(shù)字形式顯示地址和端口號。
- -o 顯示擁有的與每個連接關聯(lián)的進程 ID。
- -p proto 顯示 proto 指定的協(xié)議的連接;proto 可以是下列任
- 何一個: TCP、UDP、TCPv6 或 UDPv6。如果與 -s 選
- 項一起用來顯示每個協(xié)議的統(tǒng)計,proto 可以是下列任
- 何一個: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP
- 或 UDPv6。
- -r 顯示路由表。
- -s 顯示每個協(xié)議的統(tǒng)計。默認情況下,顯示
- IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6
- 的統(tǒng)計;-p 選項可用于指定默認的子網(wǎng)。
- -t 顯示當前連接卸載狀態(tài)。
- interval 重新顯示選定的統(tǒng)計,各個顯示間暫停的間隔秒數(shù)。
- 按 CTRL+C 停止重新顯示統(tǒng)計。如果省略,則 netstat
- 將打印當前的配置信息一次。
3.ping 測試IP連接
- 用法: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
- [-r count] [-s count] [[-j host-list] | [-k host-list]]
- [-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name
- 選項:
- -t Ping 指定的主機,直到停止。
- 若要查看統(tǒng)計信息并繼續(xù)操作 - 請鍵入 Control-Break;
- 若要停止 - 請鍵入 Control-C。
- -a 將地址解析成主機名。
- -n count 要發(fā)送的回顯請求數(shù)。
- -l size 發(fā)送緩沖區(qū)大小。
- -f 在數(shù)據(jù)包中設置“不分段”標志(僅適用于 IPv4)。
- -i TTL 生存時間。
- -v TOS 服務類型(僅適用于 IPv4。該設置已不贊成使用,且
- 對 IP 標頭中的服務字段類型沒有任何影響)。
- -r count 記錄計數(shù)躍點的路由(僅適用于 IPv4)。
- -s count 計數(shù)躍點的時間戳(僅適用于 IPv4)。
- -j host-list 與主機列表一起的松散源路由(僅適用于 IPv4)。
- -k host-list 與主機列表一起的嚴格源路由(僅適用于 IPv4)。
- -w timeout 等待每次回復的超時時間(毫秒)。
- -R 同樣使用路由標頭測試反向路由(僅適用于 IPv6)。
- -S srcaddr 要使用的源地址。
- -4 強制使用 IPv4。
- -6 強制使用 IPv6。
4.ipconfig 查看本機網(wǎng)絡配置
- 用法:
- ipconfig [/allcompartments] [/? | /all |
- /renew [adapter] | /release [adapter] |
- /renew6 [adapter] | /release6 [adapter] |
- /flushdns | /displaydns | /registerdns |
- /showclassid adapter |
- /setclassid adapter [classid] |
- /showclassid6 adapter |
- /setclassid6 adapter [classid] ]
- 其中
- adapter 連接名稱
- (允許使用通配符 * 和 ?,參見示例)
- 選項:
- /? 顯示此幫助消息
- /all 顯示完整配置信息。
- /release 釋放指定適配器的 IPv4 地址。
- /release6 釋放指定適配器的 IPv6 地址。
- /renew 更新指定適配器的 IPv4 地址。
- /renew6 更新指定適配器的 IPv6 地址。
- /flushdns 清除 DNS 解析程序緩存。
- /registerdns 刷新所有 DHCP 租約并重新注冊 DNS 名稱
- /displaydns 顯示 DNS 解析程序緩存的內容。
- /showclassid 顯示適配器的所有允許的 DHCP 類 ID。
- /setclassid 修改 DHCP 類 ID。
- /showclassid6 顯示適配器允許的所有 IPv6 DHCP 類 ID。
- /setclassid6 修改 IPv6 DHCP 類 ID。
- 默認情況下,僅顯示綁定到 TCP/IP 的適配器的 IP 地址、子網(wǎng)掩碼和
- 默認網(wǎng)關。
- 對于 Release 和 Renew,如果未指定適配器名稱,則會釋放或更新所有綁定
- 到 TCP/IP 的適配器的 IP 地址租約。
- 對于 Setclassid 和 Setclassid6,如果未指定 ClassId,則會刪除 ClassId。
- 示例:
- > ipconfig ... 顯示信息
- > ipconfig /all ... 顯示詳細信息
- > ipconfig /renew ... 更新所有適配器
- > ipconfig /renew EL* ... 更新所有名稱以 EL 開頭
- 的連接
- > ipconfig /release *Con* ... 釋放所有匹配的連接,
- 例如 "Local Area Connection 1" 或
- "Local Area Connection 2"
- > ipconfig /allcompartments ... 顯示有關所有分段的
- 信息
- > ipconfig /allcompartments /all ... 顯示有關所有分段的
- 詳細信息
5.arp 地址轉換協(xié)議
- ARP -s inet_addr eth_addr [if_addr]
- ARP -d inet_addr [if_addr]
- ARP -a [inet_addr] [-N if_addr] [-v]
- -a 通過詢問當前協(xié)議數(shù)據(jù),顯示當前 ARP 項。
- 如果指定 inet_addr,則只顯示指定計算機
- 的 IP 地址和物理地址。如果不止一個網(wǎng)絡
- 接口使用 ARP,則顯示每個 ARP 表的項。
- -g 與 -a 相同。
- -v 在詳細模式下顯示當前 ARP 項。所有無效項
- 和環(huán)回接口上的項都將顯示。
- inet_addr 指定 Internet 地址。
- -N if_addr 顯示 if_addr 指定的網(wǎng)絡接口的 ARP 項。
- -d 刪除 inet_addr 指定的主機。inet_addr 可
- 以是通配符 *,以刪除所有主機。
- -s 添加主機并且將 Internet 地址 inet_addr
- 與物理地址 eth_addr 相關聯(lián)。物理地址是用
- 連字符分隔的 6 個十六進制字節(jié)。該項是永久的。
- eth_addr 指定物理地址。
- if_addr 如果存在,此項指定地址轉換表應修改的接口
- 的 Internet 地址。如果不存在,則使用第一
- 個適用的接口。
- 示例:
- > arp -s 157.55.85.212 00-aa-00-62-c6-09.... 添加靜態(tài)項。
- > arp -a .... 顯示 ARP 表。
6.route 網(wǎng)絡路由表
- ROUTE [-f] [-p] [-4|-6] command [destination]
- [MASK netmask] [gateway] [METRIC metric] [IF interface]
- -f 清除所有網(wǎng)關項的路由表。如果與某個
- 命令結合使用,在運行該命令前,
- 應清除路由表。
- -p 與 ADD 命令結合使用時,將路由設置為
- 在系統(tǒng)引導期間保持不變。默認情況下,重新啟動系統(tǒng)時,
- 不保存路由。忽略所有其他命令,
- 這始終會影響相應的永久路由。Windows 95
- 不支持此選項。
- -4 強制使用 IPv4。
- -6 強制使用 IPv6。
- command 其中之一:
- PRINT 打印路由
- ADD 添加路由
- DELETE 刪除路由
- CHANGE 修改現(xiàn)有路由
- destination 指定主機。
- MASK 指定下一個參數(shù)為“網(wǎng)絡掩碼”值。
- netmask 指定此路由項的子網(wǎng)掩碼值。
- 如果未指定,其默認設置為 255.255.255.255。
- gateway 指定網(wǎng)關。
- interface 指定路由的接口號碼。
- METRIC 指定躍點數(shù),例如目標的成本。
- 用于目標的所有符號名都可以在網(wǎng)絡數(shù)據(jù)庫
- 文件 NETWORKS 中進行查找。用于網(wǎng)關的符號名稱都可以在主機名稱
- 數(shù)據(jù)庫文件 HOSTS 中進行查找。
- 如果命令為 PRINT 或 DELETE。目標或網(wǎng)關可以為通配符,
- (通配符指定為星號“*”),否則可能會忽略網(wǎng)關參數(shù)。
- 如果 Dest 包含一個 * 或 ?,則會將其視為 Shell 模式,并且只
- 打印匹配目標路由。“*”匹配任意字符串,
- 而“?”匹配任意一個字符。示例: 157.*.1、157.*、127.*、*224*。
- 只有在 PRINT 命令中才允許模式匹配。
- 診斷信息注釋:
- 無效的 MASK 產生錯誤,即當 (DEST & MASK) != DEST 時。
- 示例: > route ADD 157.0.0.0 MASK 155.0.0.0 157.55.80.1 IF 1
- 路由添加失敗: 指定的掩碼參數(shù)無效。
- (Destination & Mask) != Destination。
- 示例:
- > route PRINT
- > route PRINT -4
- > route PRINT -6
- > route PRINT 157* .... 只打印那些匹配 157* 的項
- > route ADD 157.0.0.0 MASK 255.0.0.0 157.55.80.1 METRIC 3 IF 2
- destination^ ^mask ^gateway metric^ ^
- Interface^
- 如果未給出 IF,它將嘗試查找給定網(wǎng)關的最佳
- 接口。
- > route ADD 3ffe::/32 3ffe::1
- > route CHANGE 157.0.0.0 MASK 255.0.0.0 157.55.80.5 METRIC 2 IF 2
- CHANGE 只用于修改網(wǎng)關和/或躍點數(shù)。
- > route DELETE 157.0.0.0
- > route DELETE 3ffe::/32
7.tracert路由跟蹤
- 用法: tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout]
- [-R] [-S srcaddr] [-4] [-6] target_name
- 選項:
- -d 不將地址解析成主機名。
- -h maximum_hops 搜索目標的最大躍點數(shù)。
- -j host-list 與主機列表一起的松散源路由(僅適用于 IPv4)。
- -w timeout 等待每個回復的超時時間(以毫秒為單位)。
- -R 跟蹤往返行程路徑(僅適用于 IPv6)。
- -S srcaddr 要使用的源地址(僅適用于 IPv6)。
- -4 強制使用 IPv4。
- -6 強制使用 IPv6。
四、系統(tǒng)命令
1.taskkill 查殺進程
- TASKKILL [/S system [/U username [/P [password]]]]
- { [/FI filter] [/PID processid | /IM imagename] } [/T] [/F]
- 描述:
- 使用該工具按照進程 ID (PID) 或映像名稱終止任務。
- 參數(shù)列表:
- /S system 指定要連接的遠程系統(tǒng)。
- /U [domain\]user 指定應該在哪個用戶上下文執(zhí)行這個命令。
- /P [password] 為提供的用戶上下文指定密碼。如果忽略,提示
- 輸入。
- /FI filter 應用篩選器以選擇一組任務。
- 允許使用 "*"。例如,映像名稱 eq acme*
- /PID processid 指定要終止的進程的 PID。
- 使用 TaskList 取得 PID。
- /IM imagename 指定要終止的進程的映像名稱。通配符 '*'可用來
- 指定所有任務或映像名稱。
- /T 終止指定的進程和由它啟用的子進程。
- /F 指定強制終止進程。
- /? 顯示幫助消息。
- 篩選器:
- 篩選器名 有效運算符 有效值
- ----------- --------------- -------------------------
- STATUS eq, ne RUNNING |
- NOT RESPONDING | UNKNOWN
- IMAGENAME eq, ne 映像名稱
- PID eq, ne, gt, lt, ge, le PID 值
- SESSION eq, ne, gt, lt, ge, le 會話編號。
- CPUTIME eq, ne, gt, lt, ge, le CPU 時間,格式為
- hh:mm:ss。
- hh - 時,
- mm - 分,ss - 秒
- MEMUSAGE eq, ne, gt, lt, ge, le 內存使用量,單位為 KB
- USERNAME eq, ne 用戶名,格式為 [domain\]user
- MODULES eq, ne DLL 名稱
- SERVICES eq, ne 服務名稱
- WINDOWTITLE eq, ne 窗口標題
- 說明
- ----
- 1) 只有在應用篩選器的情況下,/IM 切換才能使用通配符 '*'。
- 2) 遠程進程總是要強行 (/F) 終止。
- 3) 當指定遠程機器時,不支持 "WINDOWTITLE" 和 "STATUS" 篩選器。
- 例如:
- TASKKILL /IM notepad.exe
- TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
- TASKKILL /F /IM cmd.exe /T
- TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
- TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe
- TASKKILL /S system /U domain\username /FI "USERNAME ne NT*" /IM *
- TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*"
2.shutdown 關閉或者重啟計算機
- 用法: shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f]
- [/m \\computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]]
- 沒有參數(shù) 顯示幫助。這與鍵入 /? 是一樣的。
- /? 顯示幫助。這與不鍵入任何選項是一樣的。
- /i 顯示圖形用戶界面(GUI)。
- 這必須是第一個選項。
- /l 注銷。這不能與 /m 或 /d 選項一起使用。
- /s 關閉計算機。
- /r 關閉并重新啟動計算機。
- /g 關閉并重新啟動計算機。系統(tǒng)重新啟動后,
- 重新啟動所有注冊的應用程序。
- /a 中止系統(tǒng)關閉。
- 這只能在超時期間使用。
- /p 關閉本地計算機,沒有超時或警告。
- 可以與 /d 和 /f 選項一起使用。
- /h 休眠本地計算機。
- 可以與 /f 選項一起使用。
- /e 記錄計算機意外關閉的原因。
- /m \\computer 指定目標計算機。
- /t xxx 設置關閉前的超時為 xxx 秒。
- 有效范圍是 0-315360000 (10 年),默認值為 30。
- 如果超時時間大于 0,則默示 /f
- 參數(shù)。
- /c "comment" 重啟動或關閉的原因的注釋。
- 最多允許 512 個字符。
- /f 強制正在運行的應用程序關閉,不前臺警告用戶。
- 當為 /t 參數(shù)指定大于 0 的值時,
- 則默示 /f 參數(shù)。
- /d [p|u:]xx:yy 提供重新啟動或關機的原因。
- p 表明重新啟動或關閉是計劃內的。
- u 表示原因由用戶定義。
- 如果 p 和 u 均未指定,則是計劃外重新啟動
- 或關閉。
- xx 是主要原因號(小于 256 的正整數(shù))。
- yy 是次要原因號(小于 65536 的正整數(shù))。
- 此計算機上的原因:
- (E = 預期 U = 意外 P = 計劃內,C = 自定義)
- 類別 主要 次要 標題
- U 0 0 其他(計劃外)
- E 0 0 其他(計劃外)
- E P 0 0 其他(計劃內)
- U 0 5 其他故障: 系統(tǒng)沒有反應
- E 1 1 硬件: 維護(計劃外)
- E P 1 1 硬件: 維護(計劃內)
- E 1 2 硬件: 安裝(計劃外)
- E P 1 2 硬件: 安裝(計劃內)
- E 2 2 操作系統(tǒng): 恢復(計劃內)
- E P 2 2 操作系統(tǒng): 恢復(計劃內)
- P 2 3 操作系統(tǒng): 升級(計劃內)
- E 2 4 操作系統(tǒng): 重新配置(計劃外)
- E P 2 4 操作系統(tǒng): 重新配置(計劃內)
- P 2 16 操作系統(tǒng): Service Pack (計劃內)
- 2 17 操作系統(tǒng): 熱修補(計劃外)
- P 2 17 操作系統(tǒng): 熱修補(計劃內)
- 2 18 操作系統(tǒng): 安全修補(計劃外)
- P 2 18 操作系統(tǒng): 安全修補(計劃內)
- E 4 1 應用程序: 維護(計劃外)
- E P 4 1 應用程序: 維護(計劃內)
- E P 4 2 應用程序: 安裝(計劃內)
- E 4 5 應用程序: 沒有反應
- E 4 6 應用程序: 不穩(wěn)定
- U 5 15 系統(tǒng)故障: 停止錯誤
- U 5 19 安全問題
- E 5 19 安全問題
- E P 5 19 安全問題
- E 5 20 網(wǎng)絡連接丟失(計劃外)
- U 6 11 電源故障: 電線被拔掉
- U 6 12 電源故障: 環(huán)境
- P 7 0 舊版 API 關機
3.start 啟動命令
- START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
- [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
- [/NODE <NUMA node>] [/AFFINITY <hex affinity mask>] [/WAIT] [/B]
- [command/program] [parameters]
- "title" 在窗口標題欄中顯示的標題。
- path 啟動目錄。
- B 啟動應用程序,但不創(chuàng)建新窗口。應用程序已忽略 ^C 處理。
- 除非應用程序啟用 ^C 處理,否則 ^Break 是唯一可以中斷
- 該應用程序的方式。
- I 新的環(huán)境將是傳遞給 cmd.exe 的原始環(huán)境,而不是當前環(huán)境。
- MIN 以最小化方式啟動窗口。
- MAX 以最大化方式啟動窗口。
- SEPARATE 在單獨的內存空間中啟動 16 位 Windows 程序。
- SHARED 在共享內存空間中啟動 16 位 Windows 程序。
- LOW 在 IDLE 優(yōu)先級類中啟動應用程序。
- NORMAL 在 NORMAL 優(yōu)先級類中啟動應用程序。
- HIGH 在 HIGH 優(yōu)先級類中啟動應用程序。
- REALTIME 在 REALTIME 優(yōu)先級類中啟動應用程序。
- ABOVENORMAL 在 ABOVENORMAL 優(yōu)先級類中啟動應用程序。
- BELOWNORMAL 在 BELOWNORMAL 優(yōu)先級類中啟動應用程序。
- NODE 將首選非一致性內存結構 (NUMA) 節(jié)點指定為十進制整數(shù)。
- AFFINITY 將處理器關聯(lián)掩碼指定為十六進制數(shù)字。進程被限制在這些
- 處理器上運行。
- 當 /AFFINITY 和 /NODE 結合時,會對關聯(lián)掩碼進行不同的解釋。
- 指定關聯(lián)掩碼,正如 NUMA 節(jié)點的處理器掩碼正確移動到零位
- 起始位置一樣。進程被限制在指定關聯(lián)掩碼和 NUMA 節(jié)點之間的
- 那些通用處理器上運行。如果沒有通用處理器,則進程被限制在
- 指定的 NUMA 節(jié)點上運行。
- WAIT 啟動應用程序并等待它終止。
- command/program
- 如果它是內部 cmd 命令或批文件,則該命令處理器是使用
- cmd.exe 的 /K 開關運行的。這表示運行該命令之后,該窗口
- 將仍然存在。
- 如果它不是內部 cmd 命令或批文件,則它就是一個程序,并將
- 作為一個窗口化應用程序或控制臺應用程序運行。
- parameters 這些是傳遞給 command/program 的參數(shù)。
- 意: 在 64 位平臺上不支持 SEPARATE 和 SHARED 選項。
- 過指定 /NODE,可按照利用 NUMA 系統(tǒng)中的內存區(qū)域的方式創(chuàng)建進程。例如,
- 以創(chuàng)建兩個完全通過共享內存互相通信的進程以共享相同的首選 NUMA 節(jié)點,
- 而最大限度地減少內存延遲。如有可能,它們即會分配來自相同 NUMA 節(jié)點的
- 存,并且會在指定節(jié)點之外的處理器上自由運行。
- 啟動 /NODE 1 application1.exe
- 啟動 /NODE 1 application2.exe
- 兩個進程可被進一步限制在相同 NUMA 節(jié)點內的指定處理器上運行。在以下
- 例中, application1 在節(jié)點的兩個低順序處理器上運行,而 application2
- 該節(jié)點的其后兩個處理器上運行。該示例假定指定節(jié)點至少具有四個邏輯
- 理器。請注意,節(jié)點號可更改為該計算機的任何有效節(jié)點號,而無需更改關聯(lián)
- 碼。
- 啟動 /NODE 1 /AFFINITY 0x3 application1.exe
- 啟動 /NODE 1 /AFFINITY 0xc application2.exe
- 果命令擴展被啟用,通過命令行或 START 命令的外部命令
- 用會如下改變:
- 文件名作為命令鍵入,非可執(zhí)行文件可以通過文件關聯(lián)調用。
- (例如,WORD.DOC 會調用跟 .DOC 文件擴展名關聯(lián)的應用程序)。
- 關于如何從命令腳本內部創(chuàng)建這些關聯(lián),請參閱 ASSOC 和
- FTYPE 命令。
- 行的應用程序是 32-位 GUI 應用程序時,CMD.EXE 不等應用
- 程序終止就返回命令提示符。如果在命令腳本內執(zhí)行,該新行為
- 則不會發(fā)生。
- 果執(zhí)行的命令行的第一個符號是不帶擴展名或路徑修飾符的
- 字符串 "CMD","CMD" 會被 COMSPEC 變量的數(shù)值所替換。這
- 防止從當前目錄提取 CMD.EXE。
- 果執(zhí)行的命令行的第一個符號沒有擴展名,CMD.EXE 會使用
- PATHEXT 環(huán)境變量的數(shù)值來決定要以什么順序尋找哪些擴展
- 名。PATHEXT 變量的默認值是:
- .COM;.EXE;.BAT;.CMD
- 請注意,該語法跟 PATH 變量的一樣,分號隔開不同的元素。
- 找可執(zhí)行文件時,如果沒有相配的擴展名,看一看該名稱是否
- 目錄名相配。如果確實如此,START 會在那個路徑上調用
- lorer。如果從命令行執(zhí)行,則等同于對那個路徑作 CD /D。
講了這么多基礎語句是不是想躍躍欲試嘞嘞,其實批處理中還有很多比較高級的東西,比如說循環(huán)判斷,set設置,下面一起來看看吧。
1.if語句
if語句大家都知道,基本就是用作判斷,比如兩個數(shù)是否相同,一個變量是否存在。它的用法如下:
大家可以看到,這樣就完成了一段非常智障的判斷語句,哈哈哈。了解了這個簡單的語法后,我們是不是該整點新鮮的東西了,比如說變量啥的,下面請看:
可以看到使用關鍵字set定義變量就完成了交互操作,賦值。
說完了判斷,變量,當然還有循環(huán)啦,for 循環(huán)相信大家都不陌生,在哪里都有它的身影,dos也不例外。
不過貌似這個for語句的話操作起來在cmd窗口中和在批處理文件中結果不一樣哦,具體表現(xiàn)為前者需要在變量前加一個%,后者則是兩個%%。for語句里有三個關鍵字 for 、in、do 三者缺一不可。
怎么樣,是不是超級簡單。當然,它還有很多有趣的地方,比如你想查看某個目錄的所有文件:
這樣就打印出了當前桌面目錄中所有的txt文件。
好了,今天就講到這里,更多精彩內容期待你的參與。