1. 引言:為什么要使用命令行
在 DOS 時(shí)代,人們只能依靠輸入命令同計(jì)算機(jī)互交。而現(xiàn)在,微軟的 Windows 操作系統(tǒng)已得到了廣泛使用,我們處理日常事務(wù)也大多使用基于圖形用戶界面(GUI,Graphics User Interface)的應(yīng)用程序,命令行正在逐漸被人們淡忘。但我們同時(shí)也看到,系統(tǒng)自帶的命令行解釋器從 Windows 98 的 http://command.com 變成 Windows XP 的 cmd.exe 直到 Windows 7 的 PowerShell ,功能大大增強(qiáng)了。
命令行有它獨(dú)特的價(jià)值,在某些方面的表現(xiàn)是 GUI 程序無法獲得的,下面舉例來說:
- Windows 系統(tǒng)有時(shí)會(huì)出現(xiàn)故障,或是中了病毒、木馬,系統(tǒng)根本無法引導(dǎo)。而整個(gè) DOS 操作系統(tǒng)可裝入一張軟盤,只要用一張啟動(dòng)盤就可進(jìn)入 DOS ,從而進(jìn)行備份數(shù)據(jù)、修復(fù)系統(tǒng)等工作。如果你不會(huì) DOS 命令,修復(fù)系統(tǒng)便無從談起。當(dāng)然,還有一些別的修復(fù)工具,比如 WinPE 、故障恢復(fù)控制臺(tái)等,也能用來修復(fù)系統(tǒng)。但 DOS 啟動(dòng)盤具有制作簡單、體積小等優(yōu)點(diǎn)。在 DOS 中使用的命令請(qǐng)參考附錄1。
- Windows 命令行中提供了一系列實(shí)用小工具,極為綠色。比如 ping、netstat、diskpart 等命令。這方面可參考“附錄2”。
- 學(xué)習(xí) Windows 命令行,有助于我們更深入地了解 Windows 的工作方式。
- 很多軟件既有圖形前端,又有命令行版可供選擇。如 7-Zip、WinRAR(兩者都是壓縮軟件)皆有命令行版,微軟的 cabarc(用來制作 CAB 壓縮包)也是命令行程序。使用命令行版的軟件通常具有占用資源少、運(yùn)行速度快、可通過腳本進(jìn)行批量處理等優(yōu)點(diǎn)。
當(dāng)然,命令行也有其缺點(diǎn)。比如界面不夠美觀,手工輸入命令較為繁瑣(這可以通過一些輸入技巧來彌補(bǔ),詳見 3.4 節(jié)),學(xué)習(xí)起來較為困難等。
本文涵蓋了 Windows 命令行的各方面的內(nèi)容,從最簡單的文件名命名規(guī)范到編寫腳本文件,主要是基礎(chǔ)知識(shí)。本文主要是為那些 Windows 命令行新手而寫的,對(duì)讀者的技術(shù)水平或使用計(jì)算機(jī)的經(jīng)歷不做任何要求。
不同的 Windows 在命令行處理上也有細(xì)微差異,我用的系統(tǒng)是 Windows XP 和 Windows 7 ,后面一些命令的運(yùn)行結(jié)果是基于此。
2. 文件系統(tǒng)基礎(chǔ)
計(jì)算機(jī)內(nèi)各種信息,如程序、數(shù)據(jù)等都是以文件形式存在的,使用計(jì)算機(jī),可以說是對(duì)各種文件的操作管理。文件系統(tǒng)是 Windows 的一個(gè)組件,它能夠讓用戶查看、組織以及保護(hù)存儲(chǔ)設(shè)備上的文件和目錄并與其進(jìn)行互交。在“我的電腦”中選中任一本地磁盤,單擊右鍵 -> “屬性”,在彈出的“屬性”對(duì)話框中可看到該磁盤(分區(qū))的文件系統(tǒng)。
Windows 中常見的文件系統(tǒng)有 FAT 、FAT32 、NTFS 、ISO9660(或稱 CDFS) ,其中 ISO9660 用于光盤,其他用于磁盤。不同的文件系統(tǒng)有某些參數(shù)的差異,比如 FAT32 允許創(chuàng)建的單個(gè)文件不得超過 4GiB ,但 NTFS 可以允許創(chuàng)建超過 4GiB 的文件;又如 FAT32 不保留大小寫,而 NTFS 保留大小寫;NTFS 還支持更多特性,比如文件的硬鏈接(junction)。
2.1 分區(qū)與盤符
硬盤空間的劃分稱作分區(qū)。每個(gè)分區(qū)上需要有一個(gè)文件系統(tǒng),文件系統(tǒng)負(fù)責(zé)決定文件在硬盤上的實(shí)際空間排布方式。
我們平時(shí)說的 C: 、 D: 等即指磁盤分區(qū),這些磁盤分區(qū)可能位于同一塊物理硬盤上,也可能位于不同的兩塊硬盤。 C: 、 D: 等稱為盤符或驅(qū)動(dòng)器號(hào),只是系統(tǒng)的一種表示符號(hào),可以更改或重新分配。一個(gè)分區(qū)通常只包含一個(gè)文件系統(tǒng)。
2.2 文件與名稱
文件名稱由文件名和擴(kuò)展名組成,兩者由小圓點(diǎn)分隔,擴(kuò)展名通常是用來表示文件的類別。Windows 中整個(gè)文件名稱最長 255 個(gè)字符(一個(gè)中文字算兩個(gè)字符);DOS 中,文件名最長 8 字符,擴(kuò)展名最長 3 字符,稱為 DOS 8.3 命名規(guī)則。文件名稱可僅有前半部,即無擴(kuò)展名,如文件名稱最短可以是“1”、“C”等。給文件命名還應(yīng)注意以下規(guī)則:
- 文件名不能包含下列任何字符之一(共 9 個(gè)):\/:*?"<>|。
- 不能單獨(dú)使用“設(shè)備名”作文件名?!霸O(shè)備名”包括:con ,aux ,com0 ~ com9 ,lpt0 ~ lpt9 ,nul ,prn 。
- 文件名不區(qū)分大小寫,如 A.txt 和 a.TxT 表示同一文件。
你也許會(huì)發(fā)現(xiàn)很多文件沒有擴(kuò)展名,其實(shí)不然。這是因?yàn)?Windows 在默認(rèn)情況下會(huì)隱藏大部分文件的擴(kuò)展名。如果希望顯示所有文件的擴(kuò)展名的話,打開“我的電腦”,“工具”菜單 -> “文件夾選項(xiàng)”,再在“查看”選項(xiàng)卡中,去掉“隱藏已知文件類型的擴(kuò)展名”。另外,Windows 是根據(jù)文件的擴(kuò)展名來決定對(duì)文件的操作的,而不是根據(jù)內(nèi)容。例如,把一個(gè)文本文件(txt)的擴(kuò)展名改為“RM”,再雙擊它,Windows 就會(huì)調(diào)用某個(gè)安裝在你電腦上的媒體播放器(如 RealPlayer)來打開它。
2.3 文件的目錄管理
把大量文件全放在一個(gè)目錄里,操作系統(tǒng)查找一個(gè)給定的文件時(shí)就要花較長時(shí)間,同時(shí),刪除時(shí)也易誤刪除,對(duì)用戶來說極不方便。于是,操作系統(tǒng)采用了目錄的分級(jí)管理。將一個(gè)用戶的同一類文件放在某個(gè)單獨(dú)的目錄下,和磁盤上所有其他文件分開來,這樣的目錄文件使用和管理起來要方便和科學(xué)得多。
目錄好比書的章、節(jié)等不同層次,呈樹形結(jié)構(gòu)。除根目錄外,其他目錄稱為子目錄。子目錄下又可再帶子目錄。
2.4 絕對(duì)路徑和相對(duì)路徑
當(dāng)我們建立或修改一個(gè)文件時(shí),必須向 Windows 指明這個(gè)文件的位置,這須知道三件事:驅(qū)動(dòng)器、文件所在目錄和文件名,這些信息構(gòu)成一個(gè)路徑。
路徑是由一系列目錄名組成的,這些目錄名之間用“\”分開,也可以把文件名(文件名和最后一個(gè)目錄也用“\”分開)和驅(qū)動(dòng)器號(hào)包括在內(nèi)。例如:C:\WINDOWS\explorer.exe 。
每個(gè)文件都有一個(gè)絕對(duì)路徑和一個(gè)相對(duì)路徑。絕對(duì)路徑是指文件在文件系統(tǒng)中的準(zhǔn)確位置,如 C:\WINDOWS\notepad.exe 。命令行解釋器可以記住一個(gè)指定的目錄,稱為當(dāng)前目錄,相對(duì)路徑即指文件相對(duì)于當(dāng)前目錄的位置。例如,如果用戶在 C:\WINDOWS 目錄下,則 C:\WINDOWS\notepad.exe 的相對(duì)路徑是 notepad.exe 。這類似于家庭住址。如果是將自己的地址告訴住在同一座城市的人,可能會(huì)說自己住在某條街過去兩條街。這就是相對(duì)地址——相對(duì)于同一座城市。如果是將自己的地址告訴其他國家的某個(gè)人,就必須說得更加詳細(xì),如中國某個(gè)省某個(gè)市中的某條街某號(hào)以及郵政編碼,這就是絕對(duì)地址。相對(duì)路徑常用于腳本,且使輸入更簡便,但是絕對(duì)路徑是一個(gè)更為安全的選擇,因?yàn)樗苊饬丝赡艹霈F(xiàn)的歧義。
如果一個(gè)路徑是用“\”開始的,Windows 就從根目錄開始找起(絕對(duì)路徑),否則就從當(dāng)前目錄開始找(相對(duì)路徑)。
例如,在上圖中,若當(dāng)前目錄為 a12 ,要指示子目錄 a122 下的文件 ms.txt ,可以用路徑 \a1\a12\a122\ms.txt(絕對(duì)路徑) 或 a122\ms.txt(相對(duì)路徑)。
在“我的電腦”中,“地址欄”顯示的就是當(dāng)前目錄。如果你看不到地址欄,請(qǐng)找到“查看”菜單 -> “工具欄”,勾選“地址欄”。如果你的地址欄沒有顯示完整路徑(絕對(duì)路徑),請(qǐng)單擊“工具”菜單 -> “文件夾選項(xiàng)”,再在“查看”選項(xiàng)卡中,選中“在地址欄中顯示完整路徑”。
3. 基本命令
本章將具體地介紹一些命令。你最好能實(shí)踐一下本章的內(nèi)容,這需要使用 Windows 的“命令行解釋器”,該程序在 Windows XP 中是 C:\WINDOWS\system32\cmd.exe 。請(qǐng)打開“開始” -> “程序” -> “附件” -> “命令行提示符”。然后,新窗口中可能會(huì)顯示以下內(nèi)容:
Microsoft Windows XP [版本 5.1.2600]
(C) 版權(quán)所有 1985-2001 Microsoft Corp.
C:\Documents and Settings\%USERNAME%>_
其中“%USERNAME%”代表您當(dāng)前的用戶名。這里“>”提示符之前顯示的就是當(dāng)前目錄。
注意以下幾點(diǎn):
- Windows 中有兩種命令:內(nèi)部命令和外部命令。內(nèi)部命令即內(nèi)置在命令行解釋器中的命令,不需要額外的程序,如 dir 、copy 等。外部命令是以可執(zhí)行文件的形式(擴(kuò)展名通常為 exe 或 com)存在于磁盤上,這就意味著該程序必須存在,否則 Windows 是找不到該命令的,如 http://format.com 。
- 每條命令輸完后須回車,方開始運(yùn)行,并得到運(yùn)行結(jié)果。命令行解釋器把提示符“>”和回車鍵間的字符串視為一條命令。如果這字符串確實(shí)符合 Windows 命令語法,就執(zhí)行它,執(zhí)行完后又回到提示符狀態(tài),否則命令行解釋器給出錯(cuò)誤信息。例如:
Microsoft Windows XP [版本 5.1.2600]
(C) 版權(quán)所有 1985-2001 Microsoft Corp.
C:\Documents and Settings\root>cd "C:\Program Files"(此處回車,以后不標(biāo)出)
C:\Program Files>_
C:\Program Files>gf
'gf' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序
或批處理文件。
C:\Program Files>type a.txt
系統(tǒng)找不到指定的文件。
C:\Program Files>_
- 要學(xué)習(xí)某個(gè)命令,最好的方法是閱讀該命令的聯(lián)機(jī)幫助。可以輸入“命令名 /?”或“help 命令名”來查看命令的聯(lián)機(jī)幫助,例如“format /?”。本章對(duì)命令的解說僅限于最基本的用法,欲詳細(xì)了解請(qǐng)看聯(lián)機(jī)幫助。
3.1 目錄操作命令
\1. cd(Change Directory):改變當(dāng)前目錄
格式:cd [/D] [盤符:][路徑]
C:\>cd \a1\a12\a122 ?。ㄟM(jìn)入 a122 子目錄,即指定 a122 為當(dāng)前目錄)
C:\a1\a12\a122>cd \ ?。ㄍ嘶馗夸洠?C:\>_
\2. 多級(jí)目錄之間的轉(zhuǎn)換
1) 由多級(jí)子目錄轉(zhuǎn)向另一多級(jí)子目錄
C:\a1\a12\a122>cd \c1\c13
C:\c1\c13>_
2) 由根目錄進(jìn)入深層子目錄
a. 直接進(jìn)入:
C:\>cd \a1\a12\a122
C:\a1\a12\a122>_
b. 逐層進(jìn)入:
C:\>cd a1
C:\a1>cd a12
C:\a1\a12>cd a122
C:\a1\a12\a122>_
3) 退出深層子目錄
a. 直接返回根目錄:
C:\a1\a12\a122>cd \
C:\>_
b. 逐級(jí)退出子目錄:
C:\a1\a12\a122>cd ..
C:\a1\a12>cd ..
C:\a1>cd ..
C:\>_
4) 進(jìn)入同級(jí)子目錄,如從 C:\a1\a12 轉(zhuǎn)至 C:\a1\a11 :
C:\a1\a12>cd ..\a11
C:\a1\a11>_
以上實(shí)例中用到了“..”,這用來表示當(dāng)前目錄的上級(jí)目錄(父目錄)。類似地,一個(gè)點(diǎn)“.”表示當(dāng)前目錄。
cd 命令只是切換目錄,如要切換盤符,則只需輸入“盤符:”。比如切換到 D 盤,則輸入“D:”即可。
\3. md(Make Directory):建立子目錄
格式:md [盤符:] 新建子目錄路徑
C:\a1\a12>md a123 (在當(dāng)前目錄下建立子目錄 a123)
C:\a1\a12>md \d1 ?。ㄔ?C 盤根目錄下建立子目錄 d1)
\4. rd(Remove Directory):刪除子目錄
格式:rd [/S] [/Q] [盤符:]被刪除子目錄路徑
C:\c1>rd c13 ?。▌h除當(dāng)前目錄下的 c13 子目錄)
C:\c1>rd ..\b1 ?。▌h除根目錄下的 b1 子目錄)
說明:
- 只有空子目錄(不含文件的)才能被刪除(除非用 /S 參數(shù))。
- 根目錄和當(dāng)前目錄不能被刪除。
3.2 文件操作命令
\1. dir :列文件目錄清單
格式:dir [盤符:][路徑] [/P] [/W]
說明:
- 參數(shù)“/P”為分屏顯示,參數(shù)“/W”為簡要顯示(只顯示文件名,不顯示文件大小日期等信息)。
- 該命令可以使用通配符“”和“?”,? 代表任一字符, 代表任一字符串(若干個(gè)字符)。
C:\>dir ?。@示當(dāng)前目錄下文件目錄清單)
C:\>dir E:\bin /p ?。ǚ猪擄@示 E 盤上 bin 目錄下文件目錄清單)
C:\WINDOWS\system32>dir p*.vbs ?。@示以 p 開頭,以 .vbs 為后綴的所有文件目錄清單,結(jié)果如下)
驅(qū)動(dòng)器 C 中的卷是 SYSTEM
卷的序列號(hào)是 B4E5-F200
C:\WINDOWS\system32 的目錄
2002-10-08 04:00 165,389 pagefileconfig.vbs
2002-10-08 04:00 35,332 prncnfg.vbs
2002-10-08 04:00 25,086 prndrvr.vbs
2002-10-08 04:00 21,250 prnjobs.vbs
2002-10-08 04:00 32,095 prnmngr.vbs
2002-10-08 04:00 28,992 prnport.vbs
2002-10-08 04:00 15,633 prnqctl.vbs
2002-10-08 04:00 3,621 pubprn.vbs
8 個(gè)文件 327,398 字節(jié)
0 個(gè)目錄 1,826,009,088 可用字節(jié)
\2. copy :復(fù)制文件
格式:copy 源文件[+源文件] [目標(biāo)文件]
C:\>copy *.* E:\backup (復(fù)制當(dāng)前目錄下所有文件到 E:\backup)
C:\>copy pic\ws?.jpg F: (復(fù)制 pic 目錄下以 ws 開頭,后任跟一個(gè)字符的 jpeg 圖片到 F 盤)
C:\>copy a1+a2 (將 a2 的內(nèi)容添加到 a1 尾,使 a1 的內(nèi)容更新)
\3. del :刪除文件
格式:del 一個(gè)或多個(gè)文件名
C:\>del *.tmp
C:\>del 1.txt 2.txt
\4. ren :重命名文件
格式:ren 原文件名 新文件名
小結(jié):
- 本章限于篇幅,只介紹了一些基本命令,相信您已經(jīng)有能力自己閱讀幫助文檔。正如前面所提到的,Windows 命令的聯(lián)機(jī)幫助是了解某個(gè)命令的最佳方法。輸入“help”可得到一份常見命令列表。輸入“命令名 /?”或“help 命令名”可以找到指定的聯(lián)機(jī)幫助頁。
- 命令的一般格式如下:
命令名 [參數(shù)1] [參數(shù)2] ... [操作對(duì)象1] [操作對(duì)象2] ...
使用參數(shù),可開啟命令的某些特定功能。參數(shù)和操作對(duì)象的順序通常都可任意安排,不過某些情況下也有嚴(yán)格的順序要求。例如 dir /w E:\bin 和 dir E:\bin /w 的效果是一樣的。具體順序應(yīng)參考各命令的幫助文檔。
- 命令參數(shù)中的文件名一般形式如下:
[盤符:][路徑]文件名[.擴(kuò)展名]
例如:
- C:\PA\MUSI.rar
C 盤 PA 子目錄中的 rar 文件 MUSI - index.html
當(dāng)前盤上的 HTML 文件 index
3.3 通配符
使用命令行界面的一個(gè)比較有趣的方面在于,能夠使用特定的稱為通配符或元字符(metacharacter)的字符來改變和增強(qiáng)命令的行為。
正如上一節(jié)提到過的,Windows 中有兩種通配符:問號(hào)(?)匹配文件名中的任何一個(gè)字符,星號(hào)(*)匹配文件名中的零個(gè)或多個(gè)字符。可以在一個(gè)命令中綜合使用這些通配符以定位多個(gè)文件,或者在不記得文件的全名時(shí)找到該文件。例如,假定當(dāng)前目錄中含有文件:
date help help1 help2 help3 myprog.f myprog.o
表3-1給出了匹配實(shí)例。
| 參數(shù)+通配符 | 所匹配的文件 | | ----------- | --------------------------------------------- | | help?
| help1 help2 help3 | | help*
| help help1 help2 help3 | | *
| date help help1 help2 help3 myprog.f myprog.o | | *.f
| myprog.f | | d*
| date |
另外,通配符在 Windows 的“搜索”中也可以使用。
3.4 命令輸入技巧
打錯(cuò)了命令,怎樣修改呢?怎樣才能更高效地輸入命令?這些都是本節(jié)將探討的問題。
在 DOS 操作系統(tǒng)中,打錯(cuò)命令有兩種情況:
- 打錯(cuò)命令,若未回車可用退格鍵或左方向鍵(←)抹去錯(cuò)誤后重打,然后回車執(zhí)行。
- 打錯(cuò)了命令,已經(jīng)回車,可用功能鍵修改。
常用 DOS 功能鍵有:
| F1 | 從左至右一個(gè)個(gè)字符地重復(fù)上次鍵入的命令。 | | ------ | ------------------------------------------------ | | F2 | 連續(xù)重復(fù)至某字符位置前所有字符(不含某字符)。 | | F3 | 復(fù)制上次輸入的命令或當(dāng)前光標(biāo)后面剩余的全部字符。 | | F4 | 與 F2 相反刪除到指定字符。 | | Del | 刪去一字符。 | | Ins | 插入若干字符。 | | Esc | 作廢當(dāng)前行。 | | Ctrl+C | 強(qiáng)行終止當(dāng)前命令或程序的執(zhí)行。 |
實(shí)際上,我們更多時(shí)候會(huì)在 Windows 下修改,“命令行解釋器”給我們提供了更方便的修改方法。首先,在未回車時(shí)輸左方向鍵(←)并不會(huì)像 DOS 中那樣刪除前一個(gè)字符,只會(huì)移動(dòng)光標(biāo),故只需把光標(biāo)移到有錯(cuò)誤的地方修改即可。并且,Windows 中可使用上方向鍵(↑)來遍歷已經(jīng)輸過的命令。另外,“命令行解釋器”還提供了強(qiáng)大的復(fù)制/粘貼功能。姑舉一例說明:
假如上一個(gè)命令是“dir transitional.txt”,現(xiàn)在要輸入“type transitional.txt”,有兩種方法:
- 先按上方向鍵(↑)(或),屏幕顯示:dir transitional.txt 。再按鍵,將光標(biāo)移動(dòng)到行首,按三次鍵,再輸入 type ,即完成命令。
- 在窗口中點(diǎn)右鍵,選擇“標(biāo)記”,再用鼠標(biāo)拉框選中上一個(gè)命令中的“transitional.txt”,按回車,就將文本“transitional.txt”復(fù)制到了剪貼板。然后輸入“type”,空格,再點(diǎn)右鍵,選擇“粘貼”,即完成命令。
要提高輸入效率還得靠另一個(gè)功能鍵: ,它能自動(dòng)補(bǔ)完文件名。例如,假設(shè)當(dāng)前目錄中以字母 t 開頭的只有 transitional.txt 和 trap.exe ,但你嫌 transitional.txt 這個(gè)名字太長,于是你輸入“type”空格后,輸入“t”,然后按 ,命令行解釋器會(huì)自動(dòng)補(bǔ)完后面的部分,變成“type transitional.txt”,如果再按,就會(huì)在 transitional.txt 和 trap.exe 這兩個(gè)文件名之間切換。
4. 一些較高級(jí)的概念
上一章介紹了 Windows 命令行的基礎(chǔ)知識(shí),本章將討論一些更高級(jí)的功能,這些功能足以使 Windows 命令行成為一個(gè)非常靈活而且強(qiáng)大的工具。
4.1 輸入輸出重定向和管道
每個(gè)命令都需要一個(gè)輸入源和一個(gè)輸出目的地。默認(rèn)輸入是鍵盤,默認(rèn)輸出是屏幕,這稱為標(biāo)準(zhǔn)輸入和標(biāo)準(zhǔn)輸出。但在很多情況中,用戶也許希望為單獨(dú)某次操作修改輸入和輸出。例如,寫一個(gè)命令,從一個(gè)文件提取數(shù)據(jù),進(jìn)行加工后,輸出到另一文件。這稱為重定向(redirection)。
命令行解釋器使用字符“<”和“>”來定義臨時(shí)輸入和輸出源。假定用戶希望使用 dir 命令列出某個(gè)目錄的內(nèi)容,并將輸出保存到文本文件中而并非打印到屏幕上,那么他可以建立一個(gè) dir.txt ,然后執(zhí)行:
C:\>dir > dir.txt
C:\>
這里,以上命令不會(huì)產(chǎn)生輸出,但會(huì)修改 dir.txt 的內(nèi)容。注意字符“>”會(huì) 完全覆蓋 dir.txt 中已有的數(shù)據(jù),而且 dir.txt 不存在時(shí)還會(huì)自動(dòng)新建文件。如果希望保存先前數(shù)據(jù),則可以使用 >> 操作符:
C:\>dir >> dir.txt (將輸出追加到 dir.txt 的末尾)
C:\>
字符 < 用于修改輸入,所謂輸入,是指某些命令從鍵盤讀取的輸入。這種命令在 Windows 不太常見,就舉 sort 為例。sort 命令要求用戶輸入一系列單詞,每個(gè)單詞占一行,以 Ctrl+Z 結(jié)束輸入,然后將這些單詞按字母表順序排序并輸出到屏幕上。
E:\>sort
g (這里開始鍵盤輸入)
n
o
m
e
^Z (Ctrl+Z 后回車,以下是輸出)
e
g
m
n
o
如果我們使用輸入輸出重定向呢?我們先建立一個(gè) names.txt ,內(nèi)容如下:
Kobato
Tomoyo
Eriol
Fay
Meilin
Rika
Ruby
Kaede
Freya
Misaki
Dorothy
Edward
Lisa
然后執(zhí)行:
sort < names.txt > names-alpha.txt
該命令將輸入和輸出重定向結(jié)合在一起使用:將 names.txt 文件中的條目排序,然后將排序后的輸出寫入一個(gè)名為 names-alpha.txt 的文件中。得到的 names-alpha.txt 如下:
Dorothy
Edward
Eriol
Fay
Freya
Kaede
Kobato
Lisa
Meilin
Misaki
Rika
Ruby
Tomoyo
管道(pipe)是一個(gè)操作符,它把輸入和輸出重定向結(jié)合在一起,從而將一個(gè)命令的輸出立即作為另一個(gè)命令的輸入。管道用豎直線字符(|)表示,該字符通常位于 Enter 鍵附近。
最經(jīng)典的使用管道的命令:more 。可以說該命令大部分情況下都和管道一起使用。例如,要查看 sort 命令的幫助信息,輸入 sort /? ,但一屏顯示不完,使用 sort /? | more 來分屏顯示。
C:\>sort /? | more
SORT [/R] [/+n] [/M kilobytes] [/L locale] [/REC recordbytes]
[[drive1:][path1]filename1] [/T [drive2:][path2]]
[/O [drive3:][path3]filename3]
/+n 指定開始每個(gè)比較的字符號(hào)碼 n。/+3 說明每個(gè)
比較應(yīng)從每行的第三個(gè)字符開始。少于 n 個(gè)字符
的行排在其他行之前。按默認(rèn)值,從每行的第一
個(gè)字符開始比較。
/L[OCALE] locale 用指定的區(qū)域設(shè)置替代系統(tǒng)默認(rèn)區(qū)域設(shè)置。
""C"" 區(qū)域設(shè)置產(chǎn)生最快的排序順序并且是當(dāng)前的
唯一其他選擇。排序總是不分大小寫的。
/M[EMORY] kilobytes 指定用于排序的主內(nèi)存量,單位為 KB。
最小內(nèi)存量總是 160 KB。如果指定內(nèi)存大小,
無論主內(nèi)存的可用量是多少,指定的內(nèi)存量
會(huì)全部用于排序。
要取得最佳性能,通常不指定內(nèi)存大小。按默認(rèn)
值,如果達(dá)到默認(rèn)最大內(nèi)存值,排序會(huì)一次完成
(非臨時(shí)文件);否則,排序會(huì)分兩次完成(沒有
完全排序的數(shù)據(jù)存儲(chǔ)在臨時(shí)文件中);用于排序
和合并的內(nèi)存量相等。如果輸入和輸出都是
文件, 默認(rèn)最大內(nèi)存量為可用主內(nèi)存的 90%;
否則,為主內(nèi)存的 45%。
/REC[ORD_MAXIMUM] characters 指定記錄中的最大字符數(shù)量
(默認(rèn)值為 4096,最大值為 65535)。
-- More --
此時(shí),屏幕左下角顯示:– More – ,按任意鍵則顯示下一屏,直到全部顯示完。
另一個(gè)經(jīng)典的使用管道的命令是 find ,用來過濾輸出。例如,我要查看當(dāng)前的環(huán)境變量,但我只對(duì) PATH 感興趣,則輸入:
C:\>set | find "Path"
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\bin
4.2 特殊設(shè)備
在 Windows 中可以使用如下設(shè)備名:
| 設(shè)備名 | 表示 | | ----------- | ------------------ | | AUX | 輔助設(shè)備 | | CON | 控制臺(tái)(鍵盤) | | PRN | 默認(rèn)打印機(jī)(LPT1) | | NUL | 空設(shè)備 | | LPT1 - LPT3 | 并行端口 | | COM1 - COM4 | 串行端口 |
可將命令的參數(shù)指定為這些設(shè)備名,就能實(shí)現(xiàn)很多奇妙功能。
\1. 使用 con
C:\>copy con t.txt (讀取鍵盤輸入,并復(fù)制到 t.txt)
Hello,world! (此處用鍵盤輸入,以 Ctrl+Z 結(jié)束)
^Z
已復(fù)制 1 個(gè)文件。
C:\>
\2. 使用 nul “粉碎”文件
文件被刪除之后(指在回收站中被刪除),還可以用某些軟件恢復(fù)。怎樣才能將文件徹底刪除呢?這里提供一種簡單易行的方法。
C:\>dir | find "t.txt"
2008-06-16 20:01 14 t.txt (目前為 14 字節(jié))
C:\>copy nul t.txt (將“空”復(fù)制到 t.txt ,這樣就將 t.txt 的大小改寫為了 0 字節(jié))
改寫 t.txt 嗎? (Yes/No/All): y
已復(fù)制 1 個(gè)文件。
C:\>dir | find "t.txt"
2008-06-16 20:37 0 t.txt (文件大小已為 0 了)
C:\>del t.txt (再刪除即可)
C:\>
使用“copy nul 文件名”的辦法,將文件大小改為 0 后再刪除,這樣即使用軟件恢復(fù)也只能恢復(fù)出來一個(gè)空文件而已,無法得到原來的那個(gè)文件了。
4.3 環(huán)境變量
環(huán)境變量是一個(gè)“變量名=變量值”的對(duì)應(yīng)關(guān)系,每一個(gè)變量都有一個(gè)值與之對(duì)應(yīng)。set 命令用于設(shè)置或查看環(huán)境變量。我們可以通過兩個(gè)百分號(hào)的形式:“%變量名%”,在命令中引用變量的值。
C:\>set (列出當(dāng)前所有環(huán)境變量及其值)
……省略輸出若干……
windir=C:\WINDOWS
C:\>cd %windir% (該命令在執(zhí)行時(shí),“%windir%”會(huì)自動(dòng)被替換成“C:\WINDOWS”)
C:\WINDOWS>set str=Hello! (用“set 變量名=變量值”來設(shè)置一個(gè)變量)
C:\WINDOWS>echo %str% (echo 命令可回顯一個(gè)字符串)
Hello!
C:\WINDOWS>
變量給命令或批處理文件帶來了極大的靈活性,多用于批處理文件中。
4.4 環(huán)境變量 PATH
有一個(gè)特殊的環(huán)境變量 PATH ,包含一組用分號(hào)(;)分隔的目錄名。命令行解釋器根據(jù)它查找可執(zhí)行程序(exe)。
如果想讓自己的程序可以在命令行下使用,可以將程序所在的目錄加入 PATH 中。
例如若想直接使用 D:\GnuWin32\bin
下的 wget.exe :
C:\>wget
'wget' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序
或批處理文件。
C:\>D:\GnuWin32\bin\wget
...(運(yùn)行成功)
如果每次使用的時(shí)候都要輸入完整的路徑 D:\GnuWin32\bin\wget
,顯得有些繁瑣,我們希望 wget 能像其他的 Windows 命令一樣只輸入名字就可以使用。這時(shí)可將它所在的目錄,即 D:\GnuWin32\bin
加到 PATH 中:
C:\>echo %PATH%
C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0
C:\>set PATH=%PATH%;D:\GnuWin32\bin
C:\>echo %PATH%
C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;D:\GnuWin32\bin
C:\wget
...(運(yùn)行成功)
對(duì) PATH 的更改只在這一次會(huì)話中有效,如果關(guān)閉命令行解釋器再重新打開或者重啟電腦 PATH 又會(huì)變成原來的系統(tǒng)默認(rèn)值,如何修改這個(gè)默認(rèn)值呢?
Windows 7 中:計(jì)算機(jī) -> 右鍵 -> 屬性 -> 高級(jí)系統(tǒng)設(shè)置 -> 環(huán)境變量,下面的“系統(tǒng)變量”中的 PATH 。
5. 批處理文件簡介
使用批處理文件(亦稱批處理程序或腳本),可以簡化日常或重復(fù)性任務(wù)。批處理文件是純文本文件,它包含一條或多條命令,其文件擴(kuò)展名為 .bat 或 .cmd 。在命令提示符下鍵入批處理文件的名稱,cmd.exe 就會(huì)按照該文件中各個(gè)命令出現(xiàn)的順序來逐個(gè)運(yùn)行它們。所以批處理文件的特點(diǎn)是:一次建立,多次運(yùn)行,適合進(jìn)行重復(fù)性任務(wù)。在 DOS 中只能使用 .bat 的批處理文件。
可以在批處理文件中包含任何命令。某些命令,比如 for、goto 和 if 命令等,它們?cè)试S你對(duì)批處理文件中的命令作條件流程控制。例如,if 命令根據(jù)條件語句的結(jié)果來執(zhí)行命令。還有些只能在批處理文件中執(zhí)行的命令。
有關(guān)批處理文件的詳細(xì)信息,請(qǐng)參考以下命令的幫助頁。
| 命令 | 功能 | | -------- | ---------------------------------------------------------- | | rem | 添加一段注釋 | | echo | 顯示信息,或?qū)⒚罨仫@打開或關(guān)上 | | if | 執(zhí)行批處理程序中的條件性處理 | | for | 為一套文件中的每個(gè)文件運(yùn)行一個(gè)指定的命令 | | goto | 跳轉(zhuǎn)到批處理程序中某個(gè)標(biāo)明的行執(zhí)行 | | pause | 暫停批文件的處理并顯示消息 | | call | 從一個(gè)批處理程序調(diào)用另一個(gè)批處理程序,而不終止父批處理程序 | | pushd | 保存當(dāng)前目錄,然后對(duì)其進(jìn)行更改 | | popd | 還原 pushd 保存的當(dāng)前目錄的上一個(gè)值 | | shift | 更換批文件中可替換參數(shù)的位置 | | setlocal | 開始批文件中環(huán)境更改的本地化 | | endlocal | 結(jié)束批文件中環(huán)境更改的本地化 | | title | 設(shè)置 cmd.exe 會(huì)話的窗口標(biāo)題 | | start | 啟動(dòng)另一個(gè)窗口來運(yùn)行指定的程序或命令 |
6. 幾個(gè)應(yīng)用實(shí)例
6.1 批量改名
下載了一組圖片后,得到如下文件:(加粗為用戶輸入的內(nèi)容)
C:\>d:(輸入 D: 以切換到 D 盤,否則下一個(gè) cd 命令無效)
D:\>cd D:\pics
D:\pics>dir /b
001.jpg
002-003.jpg
004.JPG
005.JPG
006.jpg
007.JPG
008.jpg
009.jpg
010.JPG
011.JPG
012.jpg
013.JPG
014.JPG
015.JPG
016.jpg
017.jpg
018.JPG
019.jpg
020.JPG
我想將它們改名為 01.jpg ~ 20.jpg 用命令該怎樣做呢?這里只提供一種可能的辦法,實(shí)際上還有很多種方法,大家可觸類旁通。
D:\pics>for %i in (01,04,05,06,07,08,09) do ren 0%i.jpg %i.jpg(for 命令中,%i 變量遍歷小括號(hào)中的內(nèi)容)
D:\pics>ren 001.jpg 01.jpg
……(命令回顯會(huì)顯示實(shí)際執(zhí)行的命令,省略輸出若干)
D:\pics>ren 009.jpg 09.jpg
D:\pics>for /L %i in (10,1,20) do ren 0%i.jpg %i.jpg
D:\pics>ren 010.jpg 10.jpg
(省略輸出若干)
D:\pics>ren 020.jpg 20.jpg
D:\pics>ren 002-003.jpg 02-03.jpg(最后手動(dòng)改名)
D:\pics>
以上主要通過 for…in…do 結(jié)構(gòu)及 /L 參數(shù),使得本來要 19 次的改名操作只用兩個(gè) for 命令及一個(gè) ren 就搞定。for 命令詳細(xì)用法請(qǐng)參考其幫助頁。
6.2 批量“粉碎”文件
接著剛才的例子,如果我想用 4.2 節(jié)所述的方法“粉碎”當(dāng)前文件夾下的所有 jpeg 文件,我該怎樣做?
for %i in (*.jpg) do copy nul %i /y
這里使用 /y 來防止 copy 的覆蓋前提示。
6.3 清理 Windows 臨時(shí)文件夾 %tmp%
%tmp%
這個(gè)環(huán)境變量保存了 Windows 臨時(shí)文件夾的位置,通常這個(gè)文件夾在 Windows 7 中是 C:\Users\用戶名\AppData\Local\Temp
,WinXP 中則是 C:\Documents and Settings\用戶名\Local Settings\Temp
。某些程序(典型如安裝程序,解壓縮軟件)運(yùn)行過程中產(chǎn)生的臨時(shí)文件會(huì)存放于此,總之,是個(gè)堆放雜物的地方,其中文件一般可全部刪除。在“我的電腦”的“地址欄”(若找不到地址欄,“查看”->“工具欄”->“地址欄”)中輸入“%tmp%”,然后回車,看看你的臨時(shí)文件夾有多少東西。
下面討論清理??赡苊扛粢欢螘r(shí)間就需要清理臨時(shí)文件夾,因此我們采用批處理文件。以下為 CleanTmp.cmd 文件的內(nèi)容。
第一種方案:全部刪除
@echo off
rem 命令前加“@”會(huì)不讓該命令顯示出來,而“echo off”的作用是關(guān)閉整個(gè)
rem 腳本的命令回顯。若不懂,請(qǐng)注釋掉第一行(在最前面加“rem ”)再試。
rem CleanTmp.cmd : 清理 Windows 臨時(shí)文件夾
rem Author : henix<https://blog.henix.info/>
echo Cleaning...
rd /s /q %tmp%
md %tmp%
echo Done.
pause
也許你希望留下一些文件,比如 *.log ,那也可以用第二種方案:刪除部分文件
rem CleanTmp.cmd : 清理 Windows 臨時(shí)文件夾
rem Author : henix<https://blog.henix.info/>
del %tmp%\*.tmp /q
del %tmp%\*.wmv /q
del %tmp%\*.xml /q
rem 也可以添加更多,你的臨時(shí)文件夾中經(jīng)常出現(xiàn)的,而你又不想要的文件
pause
將以上內(nèi)容保存為 CleanTmp.cmd ,放在桌面(或其他你方便的地方),以后你只需雙擊這個(gè) CleanTmp.cmd 就可清理臨時(shí)文件夾。
6.4 快速切換 IP/DNS 配置
有時(shí)我們可能需要經(jīng)常切換 IP 配置,比如帶著筆記本往返于家和公司之間,在家使用動(dòng)態(tài)獲取 IP,而在公司使用靜態(tài) IP ,如果每次都要點(diǎn)出對(duì)話框來修改 IP 的話,相當(dāng)不方便。netsh 這個(gè)命令可以幫我們?cè)O(shè)置 IP 地址。
在桌面上創(chuàng)建一個(gè) dhcp.cmd ,內(nèi)容如下:
set name="本地連接"
netsh interface ip set address %name% dhcp
netsh interface ip set dns %name% dhcp
pause
假如你要切換的靜態(tài) IP 是 192.168.3.19 ,創(chuàng)建另一個(gè)文件 319.cmd ,內(nèi)容如下:
set OUT=%TMP%\319.txt
set name="本地連接"
echo interface ip set address %name% static 192.168.3.19 255.255.255.0 192.168.3.1 0 > %OUT%
echo interface ip set dns %name% static 192.168.3.1 >> %OUT%
echo interface ip add dns %name% 8.8.8.8 >> %OUT%
netsh -f %OUT%
pause
每次需要切換的時(shí)候雙擊運(yùn)行這個(gè)腳本即可。這里 pause 的作用是暫停這個(gè)腳本,避免一閃而過。
第二個(gè)腳本使用 netsh 的 -f 參數(shù)把一個(gè)文件當(dāng)作腳本執(zhí)行,這樣 netsh 只初始化一次,速度較快。
6.5 下載一系列圖片:for + wget
有時(shí)我們?cè)诰W(wǎng)上看到一系列圖片,想把它們都下載下來,怎么辦?首先要取得圖片的地址,只有當(dāng)圖片的地址有一定規(guī)律性時(shí),才能使用此法下載:在圖片上點(diǎn)右鍵->“屬性”,然后復(fù)制“地址”一欄的內(nèi)容。假設(shè)要下載的圖片地址很有規(guī)律,恰為 http://www.example.com/ 下的 1.jpg - 10.jpg 。
網(wǎng)上有很多命令行小程序,可以增強(qiáng)命令行的功能。這里使用 GNU Wget ,該程序可通過 HTTP 、HTTPS 、FTP 協(xié)議下載文件。
Windows 版下載地址:http://gnuwin32.sourceforge.net/packages/wget.htm ,需要下載“Binaries”和“Dependencies”,并把解壓后可執(zhí)行程序所在的目錄添加到 PATH 中。
E:\pics>for /L %i in (1,1,10) do start wget http://www.example.com/%i.jpg
start 命令會(huì)開啟一個(gè)新的進(jìn)程,可以實(shí)現(xiàn)多進(jìn)程并發(fā)下載。
6.6 平坦復(fù)制(flat copy)
如果想把一個(gè)目錄中的所有文件(包含子目錄)復(fù)制到另一處,但不想復(fù)制子目錄結(jié)構(gòu),怎么辦?
使用 for 命令并使用 dir 的運(yùn)行結(jié)果:
for /F "tokens=*" %i in ('dir /s /b /a-d "%SRC%"') do copy "%i" "%DEST%"
或者直接用 for /R :
for /R "%SRC%" %i in (*) do copy "%i" "%DEST%"
7. 常見問題解答
- 問:echo 命令輸出總要換行,有辦法輸出一個(gè)字符串而不換行嗎?
答:可以利用 set 命令的一個(gè)特殊用法
set/p=輸出的內(nèi)容<nul
- 問:據(jù)說用 md 可以創(chuàng)建一些特殊目錄?
答:
md test..\
將創(chuàng)建一個(gè)名為“test.”(Windows XP)或者“test..”(Windows 7)的目錄,在資源管理器中無法正常刪除。刪除:
rd test..\
8. 參考文獻(xiàn)
- Paul Love, Joe Merlino 等: 《Unix 入門經(jīng)典》. 張楚雄、許文昭譯. 清華大學(xué)出版社. 2006
- 張鐘澍、楊佛章編著: 《電腦打字與文書編輯(修訂本)》. 成都科技大學(xué)出版社. 1993
附錄1:常用 DOS 命令一覽
(一)內(nèi)部命令
1. CD(全程 CHDIR ,顯示當(dāng)前目錄的名稱或?qū)⑵涓模? 格式:CD [路徑名]
2. CLS(清除屏幕)
3. COPY(將至少一個(gè)文件復(fù)制到另一個(gè)位置)
格式:COPY [/V] [/A | /B] 文件1 [+ 文件2 [+ ...]] 目標(biāo)文件
4. DATE(顯示或設(shè)置日期)
5. DEL(或用 ERASE ,刪除至少一個(gè)文件)
6. DIR(顯示一個(gè)目錄中的文件和子目錄)
格式:DIR [盤符][路徑][文件名] [/B] [/P] [/W]
7. MD(全稱 MKDIR ,創(chuàng)建目錄)
格式:MD [路徑]
8. RD(全稱 RMDIR ,刪除目錄)
格式:RD [路徑]
說明:只能刪除空目錄
9. REN(全稱 RENAME ,重命名文件)
格式:REN [盤符][路徑]舊文件名 新文件名
說明:不能為目標(biāo)文件指定新的驅(qū)動(dòng)器或路徑
10. TIME(顯示或設(shè)置系統(tǒng)時(shí)間)
11. TYPE(顯示文本文件的內(nèi)容)
格式:TYPE [盤符][路徑]文件名
12. VER(顯示 DOS 版本)
13. VOL(顯示磁盤卷標(biāo)和序列號(hào))
格式:VOL [盤符]
(二)外部命令
1. ATTRIB(顯示或更改文件屬性)
格式:ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] [[盤符][路徑]文件名] [/S]
說明:+ :設(shè)置屬性,- :清除屬性,R :只讀文件屬性,A :存檔文件屬性,S :系統(tǒng)文件屬性,H :隱藏文件屬性。/S :處理當(dāng)前文件夾及其子文件夾中的匹配文件。僅用 ATTRIB 會(huì)列出當(dāng)前目錄下全部文件及其屬性。
2. CHKDSK(檢查磁盤并顯示狀態(tài)報(bào)告)
格式:CHKDSK [盤符[[路徑]文件名]]] [/F] [/V]
說明:不指明文件,則對(duì)整個(gè)盤進(jìn)行操作,/F 為修復(fù)磁盤上的錯(cuò)誤,/V 為顯示磁盤上每個(gè)文件的完整路徑和名稱。
3. EDIT(EDIT 為一菜單式文本編輯軟件)
4. FORMAT(格式化磁盤以供 DOS 使用)
格式:FORMAT 盤符 [/V:卷標(biāo)] [/Q] [/S]
說明:高級(jí)格式化會(huì)清除全部文件,/V 指定卷標(biāo),/Q 快速格式化,/S 為格式化成 DOS 系統(tǒng)盤(相當(dāng)于 FORMAT 后再 SYS)。
5. SYS(傳輸系統(tǒng)文件)
格式:SYS [盤符]
說明:制作可啟動(dòng)的 DOS 系統(tǒng)盤。
6. XCOPY(復(fù)制文件和目錄樹)
格式:XCOPY 源文件 [目標(biāo)文件] [/P] [/S [/E]] [/V]
說明:/P 創(chuàng)建每個(gè)目標(biāo)文件前提示,/S 復(fù)制目錄和子目錄,除了空的,/E 復(fù)制目錄和子目錄,包括空的,/V 驗(yàn)證每個(gè)新文件。
附錄2:Windows 中的一些有用的命令
下表列出了 Windows 中的一些有用的命令,使用方法請(qǐng)參考其幫助頁。
| 命令 | 說明 | | -------- | ------------------------------------------------------------ | | assoc | 顯示或修改文件擴(kuò)展名關(guān)聯(lián)。如果在沒有參數(shù)的情況下使用,則 assoc 將顯示所有當(dāng)前文件擴(kuò)展名關(guān)聯(lián)的列表。 | | attrib | 顯示、設(shè)置或刪除指派給文件或目錄的只讀、存檔、系統(tǒng)以及隱藏屬性。如果在不含參數(shù)的情況下使用,則 attrib 命令會(huì)顯示當(dāng)前目錄中所有文件的屬性。 | | chkdsk | 查找文件系統(tǒng)和文件系統(tǒng)元數(shù)據(jù)中的錯(cuò)誤,并顯示查找結(jié)果的狀態(tài)報(bào)告。如果不帶任何參數(shù),chkdsk 將僅顯示當(dāng)前驅(qū)動(dòng)器中的磁盤狀態(tài)。不會(huì)修復(fù)錯(cuò)誤。要修復(fù)錯(cuò)誤,必須包括 /f 參數(shù)。 | | convert | 將文件分配表 (FAT) 和 FAT32 卷轉(zhuǎn)換為 NTFS 文件系統(tǒng),而現(xiàn)有的文件和文件夾完好無損。被轉(zhuǎn)換為 NTFS 文件系統(tǒng)的卷無法再轉(zhuǎn)換回 FAT 或 FAT32。 | | defrag | 定位并整理本地卷上的零碎啟動(dòng)文件、數(shù)據(jù)文件和文件夾。 | | diskpart | 管理磁盤、分區(qū)或卷,可新建、刪除等。 | | expand | 展開一個(gè)或多個(gè)壓縮文件(.cab 格式)。 | | fc | 比較兩個(gè)文件并顯示它們之間的差異。 | | for | 對(duì)一組文件中的每個(gè)文件運(yùn)行指定的命令。 | | fsutil | Fsutil 是一個(gè)命令行實(shí)用程序,可用于執(zhí)行多種與文件分配表 (FAT) 和 NTFS 文件系統(tǒng)相關(guān)的任務(wù),例如管理重分析點(diǎn)、管理稀疏文件或拆卸卷。由于 fsutil 的功能非常強(qiáng)大,因而只有具有 Windows XP 或 Windows Server 2003 的完整知識(shí)的高級(jí)用戶才應(yīng)使用它。此外,必須作為管理員或 Administrator 組的成員登錄,才能使用 fsutil。 | | ftype | 顯示或者修改在文件名擴(kuò)展關(guān)聯(lián)中使用的文件類型。使用不帶參數(shù)的 ftype 顯示已定義打開命令字符串的文件類型。 | | move | 將一個(gè)或多個(gè)文件從一個(gè)目錄移動(dòng)到指定的目錄。 | | subst | 將路徑與驅(qū)動(dòng)器號(hào)關(guān)聯(lián)。如果使用時(shí)不帶參數(shù),subst 將顯示有效的虛擬驅(qū)動(dòng)器的名稱。 | | tree | 以圖形的方式顯示路徑或驅(qū)動(dòng)器中磁盤的目錄結(jié)構(gòu)。 |
| 命令 | 說明 | | -------- | ------------------------------------------------------------ | | arp | 顯示和修改“地址解析協(xié)議 (ARP)”緩存中的項(xiàng)目。ARP 緩存中包含一個(gè)或多個(gè)表,它們用于存儲(chǔ) IP 地址及其經(jīng)過解析的以太網(wǎng)或令牌環(huán)物理地址。計(jì)算機(jī)上安裝的每一個(gè)以太網(wǎng)或令牌環(huán)網(wǎng)絡(luò)適配器都有自己單獨(dú)的表。如果在沒有參數(shù)的情況下使用,則 arp 命令將顯示幫助信息。 | | ftp | 將文件傳輸?shù)竭\(yùn)行文件傳輸協(xié)議 (FTP) 服務(wù)器服務(wù)(如 Internet 信息服務(wù))的計(jì)算機(jī),或從這樣的計(jì)算機(jī)傳輸文件。通過處理 ASCII 文本文件,可以交互的方式或以批處理模式使用 Ftp。 | | hostname | 顯示計(jì)算機(jī)全名中的主機(jī)名稱部分。 | | ipconfig | 顯示所有當(dāng)前的 TCP/IP 網(wǎng)絡(luò)配置值、刷新動(dòng)態(tài)主機(jī)配置協(xié)議 (DHCP) 和域名系統(tǒng) (DNS) 設(shè)置。使用不帶參數(shù)的 ipconfig 可以顯示所有適配器的 IPv6 地址或 IPv4 地址、子網(wǎng)掩碼和默認(rèn)網(wǎng)關(guān)。 | | net | 許多服務(wù)使用的網(wǎng)絡(luò)命令都以詞 net 開頭,這些 net 命令有:net [ accounts | computer | config | continue | file | group | help | helpmsg | localgroup | name | pause | print | send | session | share | start | statistics | stop | time | use | user | view ]
| | netsh | Netsh 是命令行腳本實(shí)用工具,它允許從本地或遠(yuǎn)程顯示或修改當(dāng)前正在運(yùn)行的計(jì)算機(jī)的網(wǎng)絡(luò)配置。Netsh 還提供了一個(gè)腳本功能,對(duì)于指定計(jì)算機(jī),可以通過此功能以批處理模式運(yùn)行一組命令。為了存檔或配置其他服務(wù)器,Netsh 也可以將配置腳本保存在文本文件中。 | | netstat | 顯示活動(dòng)的 TCP 連接、計(jì)算機(jī)偵聽的端口、以太網(wǎng)統(tǒng)計(jì)信息、IP 路由表、IPv4 統(tǒng)計(jì)信息(對(duì)于 IP、ICMP、TCP 和 UDP 協(xié)議)以及 IPv6 統(tǒng)計(jì)信息(對(duì)于 IPv6、ICMPv6、通過 IPv6 的 TCP 以及通過 IPv6 的 UDP 協(xié)議)。使用時(shí)如果不帶參數(shù),netstat 顯示活動(dòng)的 TCP 連接。 | | ping | 通過發(fā)送 Internet 控制消息協(xié)議 (ICMP) 回響請(qǐng)求消息來驗(yàn)證與另一臺(tái) TCP/IP 計(jì)算機(jī)的 IP 級(jí)連接。對(duì)應(yīng)的回響應(yīng)答消息的接收情況將和往返過程的時(shí)間一起顯示出來。Ping 是用于檢測(cè)網(wǎng)絡(luò)連接性、可到達(dá)性和名稱解析的疑難問題的主要 TCP/IP 命令。如果不帶參數(shù),ping 將顯示幫助。 | | telnet | 通過 TELNET 協(xié)議登陸遠(yuǎn)程計(jì)算機(jī)。 | | tftp | 向運(yùn)行日常文件傳輸協(xié)議 (TFTP) 服務(wù)或守護(hù)程序的遠(yuǎn)程計(jì)算機(jī)(尤其是運(yùn)行 UNIX 的計(jì)算機(jī))傳輸或接收文件。如果使用時(shí)不帶參數(shù),tftp 將顯示幫助。 | | tracert | 通過遞增“存在時(shí)間 (TTL)”字段的值將“Internet 控制消息協(xié)議 (ICMP) 回顯請(qǐng)求”或 ICMPv6 消息發(fā)送給目標(biāo)可確定到達(dá)目標(biāo)的路徑。路徑將以列表形式顯示,其中包含源主機(jī)與目標(biāo)主機(jī)之間路徑中路由器的近側(cè)路由器接口。近側(cè)接口是距離路徑中的發(fā)送主機(jī)最近的路由器的接口。如果使用時(shí)不帶參數(shù),tracert 顯示幫助。 |
| 命令 | 說明 | | -------- | ------------------------------------------------------------ | | at | 計(jì)劃在指定時(shí)間和日期在計(jì)算機(jī)上運(yùn)行命令和程序。at 命令只能在“計(jì)劃”服務(wù)運(yùn)行時(shí)使用。如果在沒有參數(shù)的情況下使用,則 at 命令將列出已計(jì)劃的命令。 | | chcp | 顯示活動(dòng)控制臺(tái)代碼頁數(shù)量,或更改該控制臺(tái)的活動(dòng)控制臺(tái)代碼頁。 | | exit | 退出當(dāng)前批處理腳本或 Cmd.exe 程序(即命令解釋程序)并返回到啟動(dòng) Cmd.exe 的程序。 | | help | 提供關(guān)于系統(tǒng)命令的聯(lián)機(jī)信息(即非網(wǎng)絡(luò)命令)。使用不帶參數(shù)的 help 列舉并簡要描述每個(gè)系統(tǒng)命令。 | | reg | 對(duì)注冊(cè)表子項(xiàng)信息和注冊(cè)表項(xiàng)值中的值執(zhí)行添加、更改、導(dǎo)入、導(dǎo)出以及其他操作。 | | regsvr32 | 在注冊(cè)表中作為命令組件注冊(cè) .dll 文件。 | | sc | 與“服務(wù)控制器”和已安裝設(shè)備進(jìn)行通訊。SC.exe 檢索和設(shè)置有關(guān)服務(wù)的控制信息。可以使用 SC.exe 來測(cè)試和調(diào)試服務(wù)程序??梢栽O(shè)置存儲(chǔ)在注冊(cè)表中的服務(wù)屬性,以控制如何在啟動(dòng)時(shí)啟動(dòng)服務(wù)應(yīng)用程序,以及如何將其作為后臺(tái)程序運(yùn)行。SC.exe 的參數(shù)可以配置指定的服務(wù),檢索當(dāng)前服務(wù)的狀態(tài),也可以停止和啟動(dòng)服務(wù)??梢詣?chuàng)建批處理文件來調(diào)用不同的 SC.exe 命令,以自動(dòng)啟動(dòng)或關(guān)閉服務(wù)序列。SC.exe 提供的功能類似于“控制面板”中“管理工具”項(xiàng)中的“服務(wù)”。 | | shutdown | 使您能夠一次關(guān)閉或重新啟動(dòng)一臺(tái)本地或遠(yuǎn)程計(jì)算機(jī)。 | | set | 顯示、設(shè)置或刪除環(huán)境變量。如果沒有任何參數(shù),set 命令將顯示當(dāng)前環(huán)境設(shè)置。 | | takeown | 使管理員成為文件的所有者,可授予管理員恢復(fù)對(duì)以前被拒絕的文件的訪問權(quán)限。 | | taskkill | 結(jié)束一個(gè)或多個(gè)任務(wù)或進(jìn)程。可以根據(jù)進(jìn)程 ID 或圖像名來結(jié)束進(jìn)程。 | | tasklist | 顯示本地或遠(yuǎn)程機(jī)器上當(dāng)前運(yùn)行的進(jìn)程列表。 |
| 命令 | 說明 | | -------- | ------------------------------------------------ | | bcdedit | Bcdedit.exe 命令行工具用于修改啟動(dòng)配置數(shù)據(jù)存儲(chǔ)。 | | mklink | 創(chuàng)建符號(hào)鏈接、硬鏈接或目錄聯(lián)結(jié)。 | | robocopy | Windows 的可靠文件復(fù)制。 |