Win2000命令列精華篇(轉)
Win2000命令列精華篇(轉)[@more@]1.位置及地位特殊命令列程式已經不專門用Command目錄存放,而是放在32位系統檔案的倉庫重地——Win2000安裝目錄下的system32子目錄中,由此可知Win2000的命令列命令已經不再是系統的“小妾”而是被納為“正房”,而且透過檢視system32dllcache目錄可知,Win2000還將它們列入了受保護的系統檔案之列,一旦system32目錄中的命令列命令受損,就用該dllcache目錄中的備份隨即恢復;當然由於Win2000是脫胎於WinNT,所以命令列呼叫主程式已經不是Win9x時代的command.com,而是類似於NT下的cmd.exe。2.一些命令只能透過命令列直接執行如Win9x中的系統檔案掃描器sfc.exe是一個Windows風格的對話方塊介面,而在Win2000中的這條命令卻必需在命令列狀態手工輸入有關引數才能按要求執行,而執行時又是標準的圖形介面(如圖1)。3.命令列視窗的使用與以前大不相同①複製、貼上操作不同。在視窗狀態下,已經不再像Win9x的DOS視窗那樣有一條工具欄,因此不少人發現無法在Win2000的命令列視窗中進行復制等操作,其實Win2000的命令列窗口是支援視窗內容的選定、複製、貼上等操作的,但有關命令卻給隱藏了起來。用滑鼠對窗口內容的直接操作只能夠是選取,即按下滑鼠左鍵拖動時其內容會反白顯示,如果再按CTRL+C命令則無法將選取內容複製到剪貼簿,而必須在視窗的標題欄上點選滑鼠右鍵,然後選擇“編輯”,這時才就會看到有關複製、貼上等操作命令的選單(如圖2)。②可以前後瀏覽每一步操作螢幕所顯示的內容。這在全螢幕狀態下是不行的,必需使用Alt+Enter鍵切換到視窗狀態,這時視窗右側會出現一個捲軸,拖動捲軸就可前後任意瀏覽了,但如操作的顯示結果太多,則超過記憶體緩衝的內容會按照FIFO(First in First out,先進先出)原則自動丟棄,使用cls命令後可以同時清除螢幕及緩衝區的內容。4.新增了大量快捷功能鍵和強大方便的類doskey功能Win2000的命令列狀態下,透過mem/c看不到記憶體中自動載入doskey.exe命令的跡象,但的確具備極強大的類似傳統的doskey的功能,比如:PageUp、PageDown:重新呼叫最近的兩條命令↑↓:在歷史命令中按先後順序逐條重新呼叫命令;←→:在命令列移動游標,可以對已經輸入的命令列進行編輯;Insert:切換命令列編輯的插入與改寫狀態;Home、End:快速移動游標到命令列的開頭或結尾;Delete:刪除游標後面的字元;Enter:複製視窗內選定的內容(用之取代CTRL+C命令);F7:顯示歷史命令列表,可從列表中方便地選取曾經使用過的命令;F9:輸入命令號碼功能,直接輸入歷史命令的編號就可直接使用該命令。其它從F1~F9鍵都分別定義了不同的功能,具體操作時一試便知。5.對系統已掛接的碼錶輸入法的直接支援以前Win9x的DOS命令提示符下要顯示和輸入漢字,必須單獨啟動中文輸入法,如PDOS95或UCDOS等其它漢字系統,在Win2000的Cmd.exe命令列下已經可以直接顯示漢字,並可以按圖形介面完全相同的熱鍵直接呼叫系統中已經安裝的各種碼錶輸入法,如Ctrl+Shift切換輸入法,Ctrl+Space切換輸入法開關,Shift+Space切換全形與半形狀態,Ctrl+.切換中英文標點等,使用很方便;不過,該命令列下的輸入法只能在命令列進行輸入,比如開啟了一個Edit編輯器,輸入法就不起作用了,這不能不說是一個很大的遺憾!6.新增多條內部命令Color:設定預設的控制檯前景和背景顏色。我們再也不必羨慕其它作業系統豐富的控制臺顏色設定命令了!用法:Color [attr] 其中attr為指定控制檯輸出的顏色屬性顏色屬性由兩個十六進位制數字指定—— 第一個為背景,第二個則為前景。每個數字可以為以下任何值之一:如果沒有給定任何引數,該命令會將顏色還原到CMD.EXE啟動時的顏色。這個值來自當前控制檯視窗、/T 命令列命令選項或DefaultColor登錄檔值。如果用相同的前景和背景顏色來執行Color命令,Color命令會將ErrorLevel設定為1。例如: "Color fc" 在亮白色上產生亮紅色,試著輸入一個“Color 02”,哈哈……你的螢幕的顯示變成了黑底綠字,再也不是一成不變的黑底白字了。Pushd:儲存當前目錄以供Popd命令使用,然後改到指定的目錄。用法:Pushd [path | ..] 其中path為指定要成為當前目錄的目錄。如果命令副檔名被啟用,除了一般驅動器號和路徑,Pushd命令還接受網路路徑。如果指定了網路路徑,Pushd將建立一個指向指定網路資源的臨時驅動器號,然後再用剛定義的驅動器號改變當前的驅動器和目錄。可以從Z:往下分配臨時驅動器號,使用找到的第一個沒有用過的驅動器號。Popd:命令選項到儲存在Pushd命令裡的目錄。如果命令副檔名被啟用,從推目錄堆疊Popd驅動器時,Popd命令會刪除Pushd建立的臨時驅動器號。SetLocal:開始批處理檔案中環境改動的本地化操作。在執行SetLocal之後所做的環境改動只限於批處理檔案。要還原原先的設定,必須執行EndLocal。達到批處理檔案結尾時,對於該批處理檔案的每個尚未執行的SetLocal命令,都會有一個隱含的EndLocal被執行。Assoc:顯示或修改副檔名關聯用法:Assoc [.ext[=[fileType]]]其中.ext指定跟檔案型別關聯的副檔名,FileType 指定跟副檔名關聯的檔案型別。鍵入Assoc而不帶引數,顯示當前檔案關聯。如果只用副檔名呼叫Assoc,則顯示那個副檔名的當前檔案關聯。如果不為檔案型別指定任何引數,命令會刪除副檔名的關聯。例如:Assoc .pl=PerlScriptFtype PerlScript=perl.exe %1 %*允許你啟用以下Perl指令碼:script.pl 1 2 3如果不想鍵入副檔名,則鍵入以下字串:set PATHEXT=.pl;%PATHEXT%被啟動的指令碼如下:script 1 2 37.Cmd.exe更加複雜、強大的命令列引數Cmd.exe有很多命令列引數,具體情況如下:CMD [/A | /U] [/Q] [/D] [/EN | /EFF] [/FN | /FFF] [/VN | /VFF] [[/S] [/C | /K] string]/C 執行字串指定的命令然後中斷;/K 執行字串指定的命令但保留;/S 在 /C 或 /K 後修改字串處理;/Q 關閉回應;/D 從登錄檔中停用執行AutoRun命令;/A 使向內部管道或檔案命令的輸出成為ANSI;/U 使向內部管道或檔案命令的輸出成為Unicode/T:fg 設定前景/背景顏色(詳細資訊,請見 Color /?);/EN 啟用命令擴充套件;/EFF 停用命令擴充套件;/FN 啟用檔案和目錄名稱完成字元;/FFF 停用檔案和目錄名稱完成字元;/VN 將c作為定界符啟動延緩環境變數擴充套件。/VFF 停用延緩的環境擴充套件。請注意,如果字串有引號,可以接受用命令分隔符“&&”隔開的多個命令。並且,由於相容原因,/X與/EN相同,/Y與/EFF相同,並且/R與/C相同。忽略任何其它命令選項。如果指定了/C或/K,命令選項後的命令列其餘部分將作為命令列處理,在這種情況下,會使用下列邏輯處理引號字元("):(1)如果符合下列所有條件,那麼在命令列上的引號字元將被保留:不帶 /S 命令選項;整整兩個引號字元;在兩個引號字元之間沒有特殊字元,特殊字元為下列中的一個: <>()@^|;在兩個引號字元之間有至少一個空白字元;在兩個引號字元之間有至少一個可執行檔案的名稱。(2)否則,老辦法是,看第一個字元是否是一個引號字元,如果是,捨去開頭的字元並刪除命令列上 的最後一個引號字元,保留最後一個引號字元之後的文字。如果/D未在命令列上被指定,當CMD.EXE開始時,它會尋找以下REG_SZ/REG_EXPAND_SZ登錄檔變數。如果其中一個或兩個都存在,這兩個變數會先被執行。HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorAutoRun和HKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorAutoRun命令擴充套件按預設值是啟用的。你也可以使用 /EFF,為某一特定呼叫而停用擴充套件。你可以在使用者登入會話上啟用或停用cmd.exe所有呼叫的擴充套件,這要透過設定使用Regedit32.exe的登錄檔中的一個或兩個REG_DWORD值:HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorEnableExtensions和HKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorEnableExtensions到0x1或0x0。使用者特定設定比機器設定有優先權。命令列命令選項比登錄檔設定有優先權。命令列擴充套件包括對下列命令所做的更改和新增:Del或Erase、Color、CD或ChDir、MD或MkDir、Prompt、Pushd、Popd、Set、SetLocal、EndLocal、IF、For、Call、Shift、Goto、Start(同時包括對外部命令呼叫所做的更改)、Assoc、Ftype。有關詳細資訊,請鍵入“HELP 命令名”。延遲變數環境擴充套件不按預設值啟用。你可以用/VN或 /VFF命令選項,為CMD.EXE的某個呼叫而啟用或停用延遲環境變數擴充。你可以在機器上或使用者登入會話上啟用或停用CMD.EXE所有呼叫的完成,這要透過設定使用Regedit32.exe的登錄檔中的一個或兩個REG_DWORD值:HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorDelayedExpansion和HKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorDelayedExpansion到0x1或0x0。使用者特定設定比機器設定有優先權。命令列命令選項比登錄檔設定有優先權。如果延遲環境變數擴充被啟用,驚歎號字元可在執行時間,被用來代替一個環境變數的數值。檔案和目錄名完成不按預設值啟用。你可以用/FN或/FFF命令選項,為cmd.exe的某個呼叫而啟用或停用檔名完成。你可以在機器上或使用者登入會話上啟用或停用cmd.exe所有呼叫的完成,這要透過設定使用Regedit32.exe 的登錄檔中的一個或兩個REG_DWORD值:HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorCompletionCharHKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorPathCompletionChar和HKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorCompletionCharHKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorPathCompletionChar由一個控制字元的十六進位制值作為一個特定引數(例如,0x4是Ctrl-D,0x6是 Ctrl-F)。使用者特定設定優先於機器設定。命令列命令選項優先於登錄檔設定。如果完成是用/FN命令選項啟用的,兩個要使用的控制符是:目錄名字完成用Ctrl-D,檔名完成用Ctrl-F。要停用登錄檔中的某個字元,請用空格(0x20)的數值,因為此字元不是控制字元。如果鍵入兩個控制字元中的一個,完成會被呼叫。完成功能將路徑字元長帶到游標的左邊,如果沒有萬用字元,將萬用字元附加到左邊,並建立相符的路徑列表。然後,顯示第一個相符的路徑。如果沒有相符的路徑,則發出嘟嘟聲,不影響顯示。之後,重複按同一個控制字符會迴圈顯示相符路徑的列表。將 Shift 鍵跟控制字元同時按下,會倒著顯示列表。如果對該行進行了任何編輯,並再次按下控制字元,儲存的相符路徑的列表會被丟棄,新的會被生成。如果在檔案和目錄名完成之間命令選項,會發生同樣現象。兩個控制字元之間的唯一區別是檔案完成字元符合檔案和目錄名,而目錄完成字元只符合目錄名。如果檔案完成被用於內建式目錄命令(CD、MD或RD),就會使用目錄完成。將引號用相符路徑括起來,完成程式碼可以正確處理含有空格或其它特殊字元的檔名。同時,如果備份,然後從行內呼叫檔案完成,完成被呼叫是位於游標右方的文字會被丟棄。編者按:前邊講了這麼多,主要是從原理上介紹了微軟的一種命令擴充套件和路徑擴充套件,至於它要完成的功能對於我們大多數電腦愛好這來說是很有趣並且是實用價值的,從小編在http://查詢的資料得知,自從Windows NT 4.0以來,Windows便具有了和Linux一樣的命令列自動補全的功能,不信將HKEY_LOCAL_MACHINESoftwareMicrosoft Command ProsessorCompletionChar的鍵值改為9,然後切換到命令列視窗,輸入cd c:wind,然後按一個Tab試一下,呵呵……系統自動為你輸入了cd c:windows。8.一個有趣的Bug在命令列(甚至在其它如Word2000等圖形介面編輯器中!)呼叫任何一種中文輸入法後,如果在全形、中文標點狀態下輸入一次“……”(可按Shift+^直接從鍵盤輸入),再輸入大寫的任意英文字母或按Shift鍵輸入某些特殊符號,則每個字元後面會自動新增一個“…”號,如“W…”、“%…”等,不知微軟此舉是何用意?筆者死活想不出這種功能有何用處,只能解釋為是一個無關緊要的Bug
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-946222/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux 命令 ls命令系列(精華)Linux
- win2000 下 CMD命令全集
- 玩轉Mysql命令列MySql命令列
- windows命令列工具(轉)Windows命令列
- [轉] composer – 文件 – 命令列命令列
- 【轉】命令列操作快捷鍵命令列
- 命令列的顏色(轉)命令列
- 從命令列中列印(轉)命令列
- (精華)2020年9月2日 .NET Core 命令列的基本使用命令列
- 命令列下將 word 轉 pdf命令列
- 快速編輯 Shell 命令列(轉)命令列
- Ghost命令列引數大全(轉)命令列
- [轉]Systemd 入門教程:命令篇
- [android]android效能測試命令列篇Android命令列
- 詳解Bash命令列處理(轉)命令列
- [轉]在命令列下更改IP地址命令列
- linux命令列大小寫轉換Linux命令列
- java 使用命令列引數(轉)Java命令列
- iOS開發之命令列的魅力(格式整理篇)iOS命令列
- [轉載] Oracle備份策略(精華)Oracle
- 【轉】7Z命令列解壓縮命令列
- Linux快速編輯Shell命令列(轉)Linux命令列
- Perl 作為命令列實用程式(轉)命令列
- ceph叢集常用命令精華彙總!
- Win2000/NT-> 開始→執行→命令 集錦
- Databricks 第11篇:Spark SQL 查詢(行轉列、列轉行、Lateral View、排序)SparkSQLView排序
- 【JVM進階之路】八:效能監控工具-命令列篇JVM命令列
- JVM 第五篇:命令列 JVM 故障處理工具JVM命令列
- cmd 命令列 命令命令列
- windows命令列命令Windows命令列
- git命令列命令Git命令列
- 詳解Win2000的安全設定(轉)
- SQL查詢語句精華文章(轉)SQL
- 在 Linux 命令列中轉換大小寫Linux命令列
- 提高linux命令列下工作效率(轉)Linux命令列
- 開發 Linux 命令列實用程式(轉)Linux命令列
- 標準化您的 UNIX 命令列工具(轉)命令列
- 程式設計師面試金典--筆記(精華篇)程式設計師面試筆記