close

Windows CMD 命令速查手冊(二)POPD 變更到用 PUSHD 命令儲存的目錄。POPD如果您啟用擴充命令,當您使用 POPD 命令將磁碟機從擴充的目錄堆疊刪除時,POPD 命令會刪除由 PUSHD 所建立的暫時性磁碟機代號。 PRINT 列印文字檔。PRINT [/D:device] [[drive:][path]filename[...]] /D:device 指定印表機週邊設備。 PROMPT 變更 cmd.exe 命令提示字元。PROMPT [text] text 指定新的命令提示字元。提示字元可以由一般字元及下列特定代碼組成: $A & (Ampersand) $B | (直線) $C ( (左括弧) $D 目前的日期 $E 跳出代碼 (ASCII 碼 27) $F ) (右括弧) $G > (大於符號) $H 後退 (清除前一個字元) $L < (小於符號) $N 目前的磁碟機 $P 目前的磁碟機及路徑 $Q = (等號) $S (空格) $T 目前的時間 $V Windows XP 版本編號 $_ 換行 $$ $ (貨幣符號)如果您啟用擴充命令,PROMPT 命令會支援下列其他的格式字元: $+ 零或多個加號 (+) 字元,視 PUSHD 目錄堆疊的深度 而定,每推入一層就多一個字元。 $M 顯示與目前的磁碟機代號或空字串相關聯的遠端名稱 (如果目前的磁碟機不是網路磁碟機的話)。 PUSHD 儲存目前目錄以供 POPD 命令使用,然後切換到指定的目錄。 PUSHD [path | ..] path 指定要切換到的目錄。如果您啟用擴充命令,PUSHD 命令會接受正常的磁碟機代號和路徑之外的網路路徑。如果您指定了一個網路路徑,PUSHD 會建立一個代表該特定的網路資源的暫時性磁碟機代號,然後以剛定義的磁碟機代號,變更目前的磁碟機和目錄。暫時性磁碟機代號的配置是由 Z: 往下開始定義,方法是使用第一個發現到未曾使用過的磁碟機代號。 RD 移除 (刪除) 一個目錄。RMDIR [/S] [/Q] [drive:]pathRD [/S] [/Q] [drive:]path /S 除了目錄本身之外,一併移除指定目錄裡的所有目錄和檔案。 用於移除樹狀目錄結構。 /Q 安靜模式,有 /S 時,刪除目錄樹結構不再要求確認 RECOVER 從損壞的磁碟中復原可讀取的資訊。RECOVER [磁碟機:][路徑]檔案名稱在使用 RECOVER 命令以前,先查閱 Windows XP 說明內的連線命令參考。 REM 在批次檔或 CONFIG.SYS 裡加上備註或說明。REM [comment] REN 更改檔案名稱。RENAME [drive:][path]filename1 filename2.REN [drive:][path]filename1 filename2.請注意您不能為目的檔案指定新的磁碟機或路徑。 RENAME 更改檔案名稱。RENAME [drive:][path]filename1 filename2.REN [drive:][path]filename1 filename2.請注意您不能為目的檔案指定新的磁碟機或路徑。 REPLACE 取代檔案。REPLACE [drive1:][path1]filename [drive2:][path2] [/A] [/P] [/R] [/W]REPLACE [drive1:][path1]filename [drive2:][path2] [/P] [/R] [/S] [/W] [/U] [drive1:][path1]filename 指定來源檔案。 [drive2:][path2] 指定要取代的檔案的 目錄。 /A 將新檔案加到目地目錄。不能和 /S 或 /U 參數同時使用。 /P 當取代檔案或新增來源檔案時顯示確 認的提示。 /R 取代唯讀與未受保護的檔 案。 /S 取代在目的目錄中所有子目錄 的檔案。不能和 /A 參數同時 使用。 /W 在開始前等待您放入磁片。 /U 只取代 (更新) 比來源檔案早 的檔案。不能和 /A 參數同時使用。 RMDIR 移除 (刪除) 一個目錄。RMDIR [/S] [/Q] [drive:]pathRD [/S] [/Q] [drive:]path /S 除了目錄本身之外,一併移除指定目錄裡的所有目錄和檔案。 用於移除樹狀目錄結構。 /Q 安靜模式,有 /S 時,刪除目錄樹結構不再要求確認 SET 顯示、設定或移除 cmd.exe 環境變數。SET [variable=[string]] variable 指定環境變數名稱。 string 指定設定給變數的一系列字元。僅鍵入 SET 而不加上任何參數,可以顯示目前的環境變數。如果您啟用了擴充命令,SET 命令有以下的改變:如果執行 SET 命令而且只包含變數名稱,沒有等號或數值的話,命令會顯示出所有字首符合 SET 命令中指定變數名稱的所有變數值。例如: SET P會列出所有以 'P' 為開頭的環境變數。如果在目前的環境中找不到變數名稱,SET 命令會將 ERRORLEVEL設為 1。SET 命令不將等號 (=) 視為變數名稱的一部份。有兩個新參數已經加到 SET 命令中: SET /A expression SET /P variable=[promptString]/A 指定在等號右方的字串是一個要被運算的數字運算式。您可以用運算式進行簡單的運算,而且支援下列的運算子 (依照運算優先順序由高到低排列): () - 組成一群 ! ~ - - 一元運算符 * / % - 數字運算元 + - - 數字運算元 << >> - 邏輯位移 & - 位元運算 and ^ - 位元運算 exclusive or | - 位元運算 or = *= /= %= += -= - 指定 &= ^= |= <<= >>= , - 運算式分隔字元如果您使用了任何邏輯或餘數運算子,您必須將運算式兩邊括上引號。任何在運算式中非數字的字串會被當作環境變數,並且在使用前會先將這些環境變數轉換為數字。如果您所指定的環境變數名稱尚未在目前環境中定義,那麼它的值會被設為 0。這可以讓您用環境變數值來做運算,而不必打入所有的 % 符號來取得它的值。如果 SET /A 是用指令檔之外的命令列執行,它會顯示運算式最後的數值。指定運算子需要有個環境變數在等號的左方。0x 字首在數字前方代表十六進位數字、0b 字首代表二進位數字或 0 字首代表八進位數字,否則數字值都是指十進位數字。所以 0x12 就和 18、022 等相同。請注意八進位數字可能容易弄錯: 像 08 和 09 就不是正確的數字,因為 8 和 9 並不是八進位的正確數字。/P 參數讓您設定命令列的使用者輸入變數值。在讀取輸入命令列之前,顯示指定的 promptString。promptString 可以是空白。環境變數取代功能已經有下列增強: %PATH:str1=str2%會將 PATH 環境變數展開,取代每個發現的 "str1" 與 "str2"的擴充結果。"str2" 可以是空白字串,這會從擴充輸出中刪除全部 "str1"。"str1" 可以用星號開始,這將會從擴充輸出的開頭開始,對應到從所有第一個發現含有str1 的項目。您也可以為擴充功能指定子字串。 %PATH:~10,5%這將會擴充 PATH 環境變數,然後只使用擴充結果的第 11 個(位移 10)字元後的 5 個字元如果長度未指定,將會預設為上次使用的變數值。如果數字(位移或長度)是負數,使用的數字將會是環境變數的長度加上位移或指定長度。 %PATH:~-10%將抽出 PATH 變數的最後 10 個字元。 %PATH:~0,-2%將抽出 PATH 變數的最後 2 個字元。最後,系統加入了延遲環境變數展開的支援。在預設狀態下,命令展開會啟用這項支援,但是您可以在 CMD.EXE 用 /V 命令列參數來啟用/停用這個功能。 請參看 CMD /?延遲環境變數展開功能可用來避開展開功能限制。這項限制是發生在命令列讀取過程,不是發生在執行過程。下面的範例說明了立即展開變數時會發生的問題: set VAR=before if "%VAR%" == "before" ( set VAR=after; if "%VAR%" == "after" @echo If you see this, it worked )這個例子永遠無法顯示 echo 訊息,因為在兩個 IF 敘述中的 %VAR% 會在第一個 IF 敘述被讀入時便被展開。這是因為它是邏輯上包含了 IF 的內部,而內部又是一個複合敘述。 所以在複合敘述內的 IF 實際上是用"before" 和 "after" 來比較,而這永遠不會為真。同樣的,下面的例子也不會作用: set LIST= for %i in (*) do set LIST=%LIST% %i echo %LIST%這個例子中並不會建立目前目錄中所有檔案的清單,相反的只會將 LIST 變數設為最後一個找到的檔案。同樣地,這是因為 %LIST% 只有在 FOR 敘述第一次被讀入時才展開,此時 LIST 變數是空的。所以我們實際執行的 FOR迴圈是: for %i in (*) do set LIST= %i這只是重複的將 LIST 設為最後找到的檔案。延遲環境變數展開讓您可以用一個不同的字元 (驚嘆號) 在執行時展開環境變數。如果啟用了延遲環境變數展開,上面的例子可以被改寫如下而正常作用: set VAR=before if "%VAR%" == "before" ( set VAR=after if "!VAR!" == "after" @echo If you see this, it worked ) set LIST= for %i in (*) do set LIST=!LIST! %i echo %LIST%如果您啟用了命令擴充,有幾個動態環境變數會被展開但是不會出現在 SET 所顯示的環境變數列表中。這些變數的值會每次在這些變數被展開時動態地重新計算如果使用者用這些變數的名稱來定義變數時,則這個新定義會覆蓋以下所列的動態變數:%CD% - 展開為含目前目錄的字串。%DATE% - 展開為與 DATE 命令格式相同的目前日期字串。%TIME% - 展開為與 TIME 命令格式相同的目前時間字串。%RANDOM% - 展開為一個在 0 和 32767 之間的整數亂數值。%ERRORLEVEL% - 展開為目前的 ERRORLEVEL 值%CMDEXTVERSION% - 展開為目前的命令處理擴充功能的版本號碼。%CMDCMDLINE% - 展開為執行命令處理器前的原始命令列。 SETLOCAL 在批次檔中屬於中文版環境的開頭已變更。在 SETLOCAL 之後所做的環境變更已經送出,ENDLOCAL 必須送出,才能還原到上次的設定值。在到達批次指令的結尾時,批次指令對每個未處理完成的 SETLOCAL 指令都會發出 ENDLOCAL 的執行指令SETLOCAL如果您啟用命令擴充,SETLOCAL 的變更如下:SETLOCAL 批次命令現在可接受一個選項引數,這個引數可為: ENABLEEXTENSIONS / DISABLEEXTENSIONS 啟用或停用命令處理擴充功能。 請用 CMD /? 來查看說明。 ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION 啟用或停用延遲環境變數擴充功能。 請用 SET /? 來查看說明。這些修正命令作用會持續到對應 ENDLOCAL 命令為止,而不管它們的設定是否在 SETLOCAL 命令之前。SETLOCAL 命令將會設定 ERRORLEVEL 的數值,但必須給予一個引數。兩個有效引數之中如果給了一個,而另一個未給時,它的數值將變為零。您可以在批次指令檔中使用此命令以決定是否有可使用的擴充功能,請使用下列的語法: VERIFY OTHER 2>nul SETLOCAL ENABLEEXTENSIONS IF ERRORLEVEL 1 回應無法啟用擴充功能這在舊版的 CMD.EXE 中可正常運作,因為 SETLOCAL 並不會設定ERRORLEVEL 值。用了錯誤引數的 VERIFY 命令會將 ERRORLEVEL值起始為一個非零的值。 SHIFT 變更批次檔中,可置換參數的位置。SHIFT [/n]如果您啟用 SHIFT 擴充命令,支援 /n 參數,它告訴 SHIFT 可以從第 n個引數開始轉移。n 介於 0 和 8 之間。 例如: SHIFT /2會將 %3 轉移到 %2,將 %4 轉移到 %3,以此類推。並且不會影響到%0 及 %1 。 SORT SORT [/R] [/+n] [/M kilobytes] [/L locale] [/REC recordbytes] [[drive1:][path1]filename1] [/T [drive2:][path2]] [/O [drive3:][path3]filename3] /+n 指定每次開始比較的起始字元 數目 n。 /+3 表示每次比較 都從每行的第 3 個字元開始。 少於三個字元的行數會先被核對。 預設情況下會從每行的第一個字 元開始比較。 /L[OCALE] locale 用指定數值覆寫系統預設值。 ""C"" 地區設定會產生最快的 核對順序,而且是目前唯一的 其他選擇。排序都不會區分 英文大小寫。 /M[EMORY] kilobytes 指定排序時主記憶體的使用量 記憶體大小,以 KB 為單位。 不可低於160 KB。如果已指定 記憶體大小,不論目前可用記 憶體有多少,排序時將會使用 您所指定的值。如果您不指定 記憶體的話,可以產生最佳效能。 預設狀況下如果符合預設記憶體 大小最大值的話,排序會一次 執行完成 (沒有暫存檔案), 否則排序會分兩次完成(部分排序 完成的資料會儲存在暫存檔案中)。 這樣排序和合併所使用的記憶體 容量相等。預設最大記憶體大小是 90% 的可用主記憶體大小(如果輸入 和出都是使用檔案的話),否則只會 設定 45% 的可用主記憶體大小。 /REC[ORD_MAXIMUM] 字元指出一個記錄中字元的 最大數目 (預設值為 4096,最大值為 65535)。 /R[EVERSE] 反轉排序順序; 也就是,排序由 Z 到 A,然後 由 9 到 0。 [drive1:][path1]filename1 指定要排序的檔案。如果未指定排序檔案,會將 標準輸入排序。指定輸入檔案比將相同的檔案重 新導向為標準輸入還要快。 /T[EMPORARY] [drive2:][path2] 指定要保留排序的工作存放區的目錄路徑,萬一 資料不適合放在主要記憶體中的話可以使用。預 設值為使用系統暫存目錄。 /O[UTPUT] [drive3:][path3]filename3 指定排序的輸入要被存放的檔案。如果未指定, 資料會被寫入標準輸出中。指定輸出檔案比將標 準輸出重新導向到相同的檔案還要快。 START 啟動獨立視窗來執行指定的程式或命令。START ["title"] [/Dpath] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED] [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL] [/WAIT] [/B] [command/program] [parameters] "title" 顯示在視窗標題列上的文字 path 起始目錄 B 啟動應用程式但不建立新視窗。含有 ^C 控制碼的應用程式會 被略過,除非應用程式啟用 ^C 程序,否則 ^Break 是唯一可 以中斷應用程式的方法 I 新環境會使用 cmd.exe 的原始環境,而不是目前的環境。 MIN 視窗最小化 MAX 視窗最大化 SEPARATE 用不同的記憶體空間啟動 16 位元視窗程式 SHARED 用共用的記憶體空間啟動 16 位元視窗程式 LOW 在 IDLE 主要類別中啟動應用程式 NORMAL 在 NORMAL 主要類別中啟動應用程式 HIGH 在 HIGH 主要類別中啟動應用程式 REALTIME 在 REALTIME 主要類別中啟動應用程式 ABOVENORMAL 在 ABOVENORMAL 主要類別中啟動應用程式 BELOWNORMAL 在 BELOWNORMAL 主要類別中啟動應用程式 WAIT 啟動應用程式並等待其結束 command/program 如果這是內部 cmd 命令或批次檔的話,命令處理器會用 /K 參數執行 cmd.exe。這表示視窗會保持到命令執行完成。 如果這不是內部 cmd 命令或批次檔的話,它就是一個程式, 它會以視窗程式或主控台 (DOS) 應用程式的執行方式執行。 parameters 這些是傳給 command/program 的參數。如果您啟用擴充命令,經由命令列或 START 命令的外部命令執行有以下改變:可以經由打入檔案名稱的命令來利用檔名連結以啟動非執行檔。(例如 WORD.DOC 會執行和 .DOC 副檔名連結的程式)。請參看 ASSOC 及 FTYPE 命令來了解 如何在指令檔案中建立這些檔案連結。當執行 32 位元的圖形介面應用程式時,CMD.EXE 並不會等應用程式停止才回到 命令提示。但是如果從指令檔中執行時,則不會有這樣的行為。當執行一個命令列時,其中第一個字串項是字串 "CMD " 且沒有副檔名或路徑指 示,則 "CMD" 會被 COMSPEC 環境變數的值所取代。這會避免由目前目錄中 選擇 CMD.EXE當執行一個命令列時,其中第一個字串項不包含副檔名時,則 CMD.EXE 使用 PATHEXT 環境變數的值來決定尋找哪個副檔名及用什麼順序來尋找。PATHEXT 變數的預設值為: .COM;.EXE;.BAT;.CMD 請注意這個語法和 PATH 變數相同,且用分號來隔開不同的項目。當尋找執行檔時,若是任何副檔名都不符合,則會試著尋找是否有符合的目錄名稱。如果有的話,START 命令會在那個路徑執行檔案管理員。若是從命令列執行,這就相當於執行 CD /D 到那個路徑。 SUBST 建立路徑與磁碟機代號之間的關連。SUBST [drive1: [drive2:]path]SUBST drive1: /D drive1: 指定您要指定路徑的虛擬磁碟機。 [drive2:]path 指定您要指定給虛擬磁碟機的實際磁碟 機與路徑。 /D 刪除取代的 (虛擬的) 磁碟機。鍵入 SUBST 而不加任何參數會顯示目前所有虛擬磁碟機的清單。 TIME 顯示或設定系統時間。TIME [/T | time]僅鍵入 TIME 而不加上參數,可以顯示目前設定的時間,並且提示您輸入新的時間。按 ENTER 鍵即可保持原來時間。如果您啟用擴充命令,TIME 命令將會支援/T 參數,這個參數會讓命令只輸出目前的時間,而不提示您輸入新時間。 TITLE 設定命令提示字元的視窗標題。TITLE [字串] 字串 指定命令題示字元視窗的標題。 TREE 以圖形顯示磁碟機或路徑的資料夾架構。TREE [drive:][path] [/F] [/A] /F 顯示各資料夾中檔案的名稱。 /A 使用 ASCII 取代延伸字元。 TYPE 顯示文字檔案的內容。TYPE [drive:][path]filename VER 顯示 Windows XP 版本。VER VERIFY 告訴 cmd.exe 是否要驗證檔案有沒有正確地寫入磁碟中。 VERIFY [ON | OFF]僅鍵入 VERIFY 而不加上參數,可以顯示目前的 VERIFY 設定。 VOL 顯示磁碟區標籤和序號 (若有的話)。VOL [drive:] XCOPY 複製檔案和樹狀目錄。XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W] [/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U] [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]\r\r [/EXCLUDE:file1[+file2][+file3]...] source 指定要複製的檔案。 destination 指定位置或者/以及新檔案的名稱。 /A 只複製設定成保存屬性的檔案,不要改變屬性的設定。 /M 只複製設定成保存屬性的檔案,並清除保存屬性。 /D:m-d-y 複製在指定日期當天或之後發生變更的檔案。如果沒有給日期, 只複製那些來源檔案日期比目的檔案日期為新的檔案。 /EXCLUDE:file1[+file2][+file3]... 指定檔案清單字串。每個字串 應該在檔案中的不同行。如果有字串對應到要進行複製的檔案絕 對路徑的任何部分,這個檔案會被排除複製。例如,指定字串 \obj\ 或 .obj 的話,會排除所有在 obj 目錄下副檔名是 .obj 的檔案複製。 /P 在建立每個目的檔案時顯示提示。 /S 複製每個目錄及其包含的子目錄,不複製空目錄。 /E 複製每個目錄及其包含的子目錄,也複製空目錄。/S 與 /E 相同,能夠用來修改 /T。 /V 驗證每個新檔案。 /W 在複製之前提示您按鍵繼續。 /C 如果錯誤發生時也繼續複製。 /I 如果目的不存在且複製一個以上的檔案的話,就假設指定的 目的一定是目錄。 /Q 在複製時不要顯示檔名。 /F 在複製時顯示來源及目的檔案的全部檔名。 /L 顯示要複製的檔案。 /G 允許加密檔案複製到不支援加密的 目的地。 /H 時複製隱藏檔和系統檔。 /R 覆蓋唯讀檔案。 /T 建立目錄結構,但不複製其中的檔案。不包括空目錄及子目錄。 /T /E 會包括空目錄及子目錄。 /U 只複製已經存在目的位置的檔案。 /K 複製檔案屬性。通常 Xcopy 會重設唯讀的屬性。 /N 用所產生的短檔名來進行複製。 /O 複製檔案所有權及 ACL 資訊。 /X 複製檔案審查設定 (包含 /O)。 /Y 不要提示您確認是否要覆蓋一個已經存在的檔案。 /-Y 示您確認是否要覆蓋一個已經存在的檔案。 /Z 在可重新開始的模式中複製網路檔案。參數 /Y 可以在 COPYCMD 環境變數中預先設定。但可以在命令列中用 /-Y 參數來覆蓋原有設定。 如果您覺得本篇蒐集的資訊對您有用, 請點擊下方的廣告連結支持 .


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 rr33376 的頭像
    rr33376

    髮型

    rr33376 發表在 痞客邦 留言(0) 人氣()