您現在的位置是:首頁 > 音樂首頁音樂
一篇文章帶你讀懂批處理命令
必須是批處理中僅有的語句是什麼意思
批處理,顧名思義,批次處理,它可以將複雜的事情變得簡單,最早出現在dos作業系統中,也就是我們經常說的cmd黑視窗,這在早期沒有gui介面的時候用的是最多的,而且命令比較豐富,雖然現在有很多功能都被封裝到了軟體中,但是你會發現在dos中執行操作會更快,哪怕會比較麻煩,如果你無法忍受慢節奏。
下面就基本命令咱們先看看吧,首先開啟cmd視窗:
你可以透過 快捷鍵 徽標鍵+R,然後輸入cmd,也可以點選window系統右下角,然後點選執行,輸入cmd即可。
下面我們來看看吧:
開啟後可以看到這幅畫面,我們可以對他進行一些操作,讓他看起來 炫酷一點。
我們先看看怎樣操作, 開啟屬性對話方塊:
最後我們就得到了這樣一個視窗,比以前的是不是要炫酷一點了,哈哈哈哈。
那麼dos 裡面到底有哪些命令呢?下面我們來看看:
這樣就獲取到了一部分dos作業系統的命令,也是可以進行批次處理的命令,所以我們形象的稱之為批處理指令碼。那麼這些命令都是怎樣使用的了。
一、顯示,暫停,清除,註釋
1。echo 輸出資訊
2。pause 暫停
不信,你可以看看這個:
cls 清除
清除之後他是沒有任何顯示的,清除即清空前面的所有內容。
4。rem 註釋
另外 :: 也可以起到 rem 的註釋作用, 而且更簡潔有效。
二、檔案目錄操作
1。 cd 切換目錄
2。 md 建立資料夾
3。 ren重新命名
4。 move移動檔案(夾)
5。 del 刪除檔案
6。 copy xcopy 複製檔案
很多人覺得這兩個用法一樣,其實不一樣的,當你複製超大型檔案時,我想每個人基本都會遇到複製緩慢的尷尬,如果你善用dos命令,可以讓你把效率提高至少十倍。copy本身比系統的複製要快,但xcopy更快。
7。dir 列舉檔名
可以打印出當前目錄所有檔案(夾)名
8。 檔案屬性
三、網路命令
1。net 顯示設定網路使用者組賬號
此命令的語法是:NET [ ACCOUNTS | COMPUTER | CONFIG | CONTINUE | FILE | GROUP | HELP | HELPMSG | LOCALGROUP | PAUSE | SESSION | SHARE | START | STATISTICS | STOP | TIME | USE | USER | VIEW ]
2。netstat 顯示協議統計和當前 TCP/IP 網路連線
NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [interval] -a 顯示所有連線和偵聽埠。 -b 顯示在建立每個連線或偵聽埠時涉及的可執行程式。 在某些情況下,已知可執行程式承載多個獨立的 元件,這些情況下,顯示建立連線或偵聽埠時涉 及的元件序列。此情況下,可執行程式的名稱 位於底部[]中,它呼叫的元件位於頂部,直至達 到 TCP/IP。注意,此選項可能很耗時,並且在您沒有 足夠許可權時可能失敗。 -e 顯示乙太網統計。此選項可以與 -s 選項結合使用。 -f 顯示外部地址的完全限定域名(FQDN)。 -n 以數字形式顯示地址和埠號。 -o 顯示擁有的與每個連線關聯的程序 ID。 -p proto 顯示 proto 指定的協議的連線;proto 可以是下列任 何一個: TCP、UDP、TCPv6 或 UDPv6。如果與 -s 選 項一起用來顯示每個協議的統計,proto 可以是下列任 何一個: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。 -r 顯示路由表。 -s 顯示每個協議的統計。預設情況下,顯示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的統計;-p 選項可用於指定預設的子網。 -t 顯示當前連線解除安裝狀態。 interval 重新顯示選定的統計,各個顯示間暫停的間隔秒數。 按 CTRL+C 停止重新顯示統計。如果省略,則 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 指定的主機,直到停止。 若要檢視統計資訊並繼續操作 - 請鍵入 Control-Break; 若要停止 - 請鍵入 Control-C。 -a 將地址解析成主機名。 -n count 要傳送的回顯請求數。 -l size 傳送緩衝區大小。 -f 在資料包中設定“不分段”標誌(僅適用於 IPv4)。 -i TTL 生存時間。 -v TOS 服務型別(僅適用於 IPv4。該設定已不贊成使用,且 對 IP 標頭中的服務欄位型別沒有任何影響)。 -r count 記錄計數躍點的路由(僅適用於 IPv4)。 -s count 計數躍點的時間戳(僅適用於 IPv4)。 -j host-list 與主機列表一起的鬆散源路由(僅適用於 IPv4)。 -k host-list 與主機列表一起的嚴格源路由(僅適用於 IPv4)。 -w timeout 等待每次回覆的超時時間(毫秒)。 -R 同樣使用路由標頭測試反向路由(僅適用於 IPv6)。 -S srcaddr 要使用的源地址。 -4 強制使用 IPv4。 -6 強制使用 IPv6。
4。ipconfig 檢視本機網路配置
用法: 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 地址、子網掩碼和預設閘道器。對於 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 地址轉換協議
ARP -s inet_addr eth_addr [if_addr]ARP -d inet_addr [if_addr]ARP -a [inet_addr] [-N if_addr] [-v] -a 透過詢問當前協議資料,顯示當前 ARP 項。 如果指定 inet_addr,則只顯示指定計算機 的 IP 地址和物理地址。如果不止一個網路 介面使用 ARP,則顯示每個 ARP 表的項。 -g 與 -a 相同。 -v 在詳細模式下顯示當前 ARP 項。所有無效項 和環回介面上的項都將顯示。 inet_addr 指定 Internet 地址。 -N if_addr 顯示 if_addr 指定的網路介面的 ARP 項。 -d 刪除 inet_addr 指定的主機。inet_addr 可 以是萬用字元 *,以刪除所有主機。 -s 新增主機並且將 Internet 地址 inet_addr 與物理地址 eth_addr 相關聯。物理地址是用 連字元分隔的 6 個十六進位制位元組。該項是永久的。 eth_addr 指定物理地址。 if_addr 如果存在,此項指定地址轉換表應修改的介面 的 Internet 地址。如果不存在,則使用第一 個適用的介面。示例: > arp -s 157。55。85。212 00-aa-00-62-c6-09。。。。 新增靜態項。 > arp -a 。。。。 顯示 ARP 表。
6。route 網路路由表
ROUTE [-f] [-p] [-4|-6] command [destination] [MASK netmask] [gateway] [METRIC metric] [IF interface] -f 清除所有閘道器項的路由表。如果與某個 命令結合使用,在執行該命令前, 應清除路由表。 -p 與 ADD 命令結合使用時,將路由設定為 在系統引導期間保持不變。預設情況下,重新啟動系統時, 不儲存路由。忽略所有其他命令, 這始終會影響相應的永久路由。Windows 95 不支援此選項。 -4 強制使用 IPv4。 -6 強制使用 IPv6。 command 其中之一: PRINT 列印路由 ADD 新增路由 DELETE 刪除路由 CHANGE 修改現有路由 destination 指定主機。 MASK 指定下一個引數為“網路掩碼”值。 netmask 指定此路由項的子網掩碼值。 如果未指定,其預設設定為 255。255。255。255。 gateway 指定閘道器。 interface 指定路由的介面號碼。 METRIC 指定躍點數,例如目標的成本。用於目標的所有符號名都可以在網路資料庫檔案 NETWORKS 中進行查詢。用於閘道器的符號名稱都可以在主機名稱資料庫檔案 HOSTS 中進行查詢。如果命令為 PRINT 或 DELETE。目標或閘道器可以為萬用字元,(萬用字元指定為星號“*”),否則可能會忽略閘道器引數。如果 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 路由新增失敗: 指定的掩碼引數無效。 (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,它將嘗試查詢給定閘道器的最佳 介面。 > 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 只用於修改閘道器和/或躍點數。 > 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 搜尋目標的最大躍點數。 -j host-list 與主機列表一起的鬆散源路由(僅適用於 IPv4)。 -w timeout 等待每個回覆的超時時間(以毫秒為單位)。 -R 跟蹤往返行程路徑(僅適用於 IPv6)。 -S srcaddr 要使用的源地址(僅適用於 IPv6)。 -4 強制使用 IPv4。 -6 強制使用 IPv6。
四、系統命令
1。taskkill 查殺程序
TASKKILL [/S system [/U username [/P [password]]]] { [/FI filter] [/PID processid | /IM imagename] } [/T] [/F]描述: 使用該工具按照程序 ID (PID) 或映像名稱終止任務。引數列表: /S system 指定要連線的遠端系統。 /U [domain\]user 指定應該在哪個使用者上下文執行這個命令。 /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”]] 沒有引數 顯示幫助。這與鍵入 /? 是一樣的。 /? 顯示幫助。這與不鍵入任何選項是一樣的。 /i 顯示圖形使用者介面(GUI)。 這必須是第一個選項。 /l 登出。這不能與 /m 或 /d 選項一起使用。 /s 關閉計算機。 /r 關閉並重新啟動計算機。 /g 關閉並重新啟動計算機。系統重新啟動後, 重新啟動所有註冊的應用程式。 /a 中止系統關閉。 這隻能在超時期間使用。 /p 關閉本地計算機,沒有超時或警告。 可以與 /d 和 /f 選項一起使用。 /h 休眠本地計算機。 可以與 /f 選項一起使用。 /e 記錄計算機意外關閉的原因。 /m \\computer 指定目標計算機。 /t xxx 設定關閉前的超時為 xxx 秒。 有效範圍是 0-315360000 (10 年),預設值為 30。 如果超時時間大於 0,則默示 /f 引數。 /c “comment” 重啟動或關閉的原因的註釋。 最多允許 512 個字元。 /f 強制正在執行的應用程式關閉,不前臺警告使用者。 當為 /t 引數指定大於 0 的值時, 則默示 /f 引數。 /d [p|u:]xx:yy 提供重新啟動或關機的原因。 p 表明重新啟動或關閉是計劃內的。 u 表示原因由使用者定義。 如果 p 和 u 均未指定,則是計劃外重新啟動 或關閉。 xx 是主要原因號(小於 256 的正整數)。 yy 是次要原因號(小於 65536 的正整數)。此計算機上的原因:(E = 預期 U = 意外 P = 計劃內,C = 自定義)類別 主要 次要 標題 U 0 0 其他(計劃外)E 0 0 其他(計劃外)E P 0 0 其他(計劃內) U 0 5 其他故障: 系統沒有反應E 1 1 硬體: 維護(計劃外)E P 1 1 硬體: 維護(計劃內)E 1 2 硬體: 安裝(計劃外)E P 1 2 硬體: 安裝(計劃內)E 2 2 作業系統: 恢復(計劃內)E P 2 2 作業系統: 恢復(計劃內) P 2 3 作業系統: 升級(計劃內)E 2 4 作業系統: 重新配置(計劃外)E P 2 4 作業系統: 重新配置(計劃內) P 2 16 作業系統: Service Pack (計劃內) 2 17 作業系統: 熱修補(計劃外) P 2 17 作業系統: 熱修補(計劃內) 2 18 作業系統: 安全修補(計劃外) P 2 18 作業系統: 安全修補(計劃內)E 4 1 應用程式: 維護(計劃外)E P 4 1 應用程式: 維護(計劃內)E P 4 2 應用程式: 安裝(計劃內)E 4 5 應用程式: 沒有反應E 4 6 應用程式: 不穩定 U 5 15 系統故障: 停止錯誤 U 5 19 安全問題E 5 19 安全問題E P 5 19 安全問題E 5 20 網路連線丟失(計劃外) U 6 11 電源故障: 電線被拔掉 U 6 12 電源故障: 環境 P 7 0 舊版 API 關機
3。start 啟動命令
START [“title”] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED] [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL] [/NODE
講了這麼多基礎語句是不是想躍躍欲試嘞嘞,其實批處理中還有很多比較高階的東西,比如說迴圈判斷,set設定,下面一起來看看吧。
1。if語句
if語句大家都知道,基本就是用作判斷,比如兩個數是否相同,一個變數是否存在。它的用法如下:
大家可以看到,這樣就完成了一段非常智障的判斷語句,哈哈哈。瞭解了這個簡單的語法後,我們是不是該整點新鮮的東西了,比如說變數啥的,下面請看:
可以看到使用關鍵字set定義變數就完成了互動操作,賦值。
說完了判斷,變數,當然還有迴圈啦,for 迴圈相信大家都不陌生,在哪裡都有它的身影,dos也不例外。
不過貌似這個for語句的話操作起來在cmd視窗中和在批處理檔案中結果不一樣哦,具體表現為前者需要在變數前加一個%,後者則是兩個%%。for語句裡有三個關鍵字 for 、in、do 三者缺一不可。
怎麼樣,是不是超級簡單。當然,它還有很多有趣的地方,比如你想檢視某個目錄的所有檔案:
這樣就打印出了當前桌面目錄中所有的txt檔案。