總以為自己很已經會操作windows了,今天在它協助中看到一大片還不知道的命令列工具,不過這篇隨筆跟這些工具沒什麼關係的,只是我在用一個命令的時候打錯了,結果導致我忍不住要寫點東西。
當有些命令的運行結果比較長(好幾頁)的時候,我經常會把它們的結果輸出到一個文本中,這絕對是個好習慣,比如,利於搜尋:
如果我想尋找D盤的一個檔案,不知道它放在哪個檔案夾中,我會使用tree命令把D盤的所有檔案名稱寫入到文本中,再從文本中查詢,速度比直接搜尋D盤來得快,而且相對使用了較少的系統資源。不信你可以試試。
把D盤所有檔案名稱和目錄結構寫到C盤的1.txt中的命令為tree d:>c:1.txt
這個檔案還可以儲存起來,以後還可以用,如果沒有重大更新的話。
呀,扯遠了 : )
今天不知道怎麼回事,可能開小差,一個命令的結果輸出寫成了>cmd,立馬重寫,也沒在意那個被寫入的cmd檔案,然後習慣性地關閉了命令列視窗(我也不知道為什麼,明知自己還要在這個視窗中輸命令,卻把它關了),查看輸出,接著學習下一個工具的使用,運行cmd,呆掉,出來剛才的輸出結果。才-發-現,不,才明白過來是剛才那個輸了cmd惹的禍,想了一下那個cmd檔案的位置,應該在目前使用者設定檔夾中(cmd的預設起始位置,此cmd非彼cmd),在的,刪了就好了。頓時覺得奇怪,使用者設定檔夾好像沒設定PATH環境變數怎麼能直接……
應該就是最進階別的path吧!
然後就覺得好玩,一一測試了環境變數PATH的優先順序。
測試path4個
%userprofile%(系統預設設定的,目前使用者設定檔夾,Documents and Settings 中以目前使用者命名的檔案夾,我當前為Administrator)
%systemroot%(XP下是windows)
%systemroot%/system32
d:\bat (使用者定義path)
分別做四個無副檔名的檔案名稱為"test"的檔案,分別放到上面四個檔案夾中,各test檔案的內容設定為所在檔案夾名
運行test,首先出場的是(顯示的test檔案內容)
Administrator
(然後把test檔案從所在檔案夾delete掉)
再運行test,出場的是
system32
(delete掉)
再運行test,出場的是
windows
(delete掉)
最後是
d:\bat
(delete掉)
OK,結果出來了,path優先順序從高到低排列:
%userprofile%
%systemroot%/system32
%systemroot%
使用者定義path
用處大家自己想,我就不廢話了,總結完畢!