命令提示字元 11:目錄變數

不多說,直接開始吧:

echo %systemdrive%

這個變數就是指安裝 Windows 分割出來的根目錄,對大部份的人而言是 C: ,但有些人有特殊理由或技術不好可能就不是了。



echo %windir%

這個是指 Windows 所在的資料夾,微軟預設是 %systemdrive%\Windows 。這個資料夾很少用到,但在整個架構是一定要說的。

%windir%\System

這個資料夾是用來存放 16 位元的內建程式。因為 64 位元無法執行 16 位元程式,所以會是空的。

%windir%\system32

這個資料夾是用來存放 32 位元的內建程式,這個資料夾就非常重要了,因為大部份系統工具都是在這裡,如之前說的 ping.exe 等等。這個資料夾有它的重要性,沒事不要亂進去,只要知道它是執行大部份工作就好了。

%windir%\sysWOW64

這個資料夾也是用來存放 32 位元的內建程式。咦?騙人!沒有錯,在 64 位元中這個資料夾是放 32 位元的程式的,而 64 位元是放在 %windir%\system32 中。可能是因為不想改路徑吧,因為 64 位元的直接繼續用 %windir%\system32 就好了。而 32 位元就沒有這個資料夾了,除非自己創一個。



echo %programfiles%

這個就是傳說中的程式集,預設是 %systemdrive%\Program Files ,新安裝的程式都放在這裡。個人懷疑中間空白是故意放的,讓那些無法支援空白的程式趕快支援。

echo %programfiles(x86)%

這個是 64 位元放 32 位元的資料夾,預設是 %systemdrive%\Program Files (x86),用括弧應該也是有用意的。而一個程式是要安裝到哪一個資料夾安裝程式會自動判斷,不用去費心。



%systemdrive%\Users

這個是個人資料夾,所有使用者的資料都會放在這裡。裡面有所有帳戶的資料夾各一個,以及預設使用者資料夾一個。其實比較訝異微軟竟然沒有為這個資料夾設環境變數,好吧,其實用不到。

echo %username%

這個不是資料夾,它是會展開目前登入使用者的名稱。這個教學都是用這個變數來當作使用者名稱。

echo %appdata%

這個資料夾是給程式放置不同使用者不同的設定或檔案,預設是 %systemdrive%\Users\%username%\AppData\Roaming ,而這也是程式對不同使用者可以有不同設定的原因。

echo %localappdata%

這個資料夾也是存放不同設定的地方,但多是微軟一些自訂的程式,如佈景主題、錯誤報告等等,預設是 %systemdrive%\Users\%username%\AppData\Local 。其實這個資料夾很少用到,所以不用太在意。

echo %temp%

這個資料夾是用來放暫存的檔案,預設是 %localappdata%\Temp ,也是清垃圾軟體必清的項目之一。在撰寫程式時可以放心把暫存的東西放在這裡,這資料夾存在的目的就只有這個。

echo %public%

這是使用者預設目錄,預設是 %systemdrive%\Users\Public,當新增一個使用者時會複製這個資料夾出去。



echo %path%

跑出來會一串,其中至少會有 C:\Windows\system32 。這一串每一個是用分號分開,每一個代表一個資料夾。在每一次執行一個程式時(如 Program.exe),它會先去執行的目錄看有沒有這個程式,沒有時再去「%path%」的每一個去找看看直到全部都沒有才說找不到這個程式。

話說 Windows® 7 剛出來時很多人在抱怨開始功能表沒有「執行」這個東西,其實微軟己經將它整合在一起了,只要叫出開始功能表輸入字串,它會先找程式清單有沒有相關檔案,接下來就會找「%path%」,全部都整合在一起了。

echo %pathext%

也是用分號分開,其中至少會有 .COM;.EXE;.BAT;.CMD ,這代表這些副檔名是可執行的。這也是為何「ping」不用打「ping.exe」的原因,因為它自動會去找「ping.com」「ping.exe」「ping.bat」「ping.cmd」。



最後來看這個:

命令

這是命令提示字元找不到程式時會回傳的錯誤,英文是

Command

這句話因為很有趣,所以擺在這裡。「內部」是指目前執行的目錄,「外部」是指 %path%,「程式」是指「.exe」,「批次檔」是指「.cmd」。一句話就把所有情形說完了,但知道自己打錯的人也不用提示這麼多,不知道自己打錯的人也看不懂,在下也不知道寫這樣要做什麼。



這章說了很多東西,有些當下可能不會理解,也不會馬上記起那個資料夾的意義,用到的時候再回來看就好了。而變數名稱不用記,大概知道,用到的時候再查就好了。下一章會比較輕鬆,因為醉翁之意不在酒。



下一章:排程教學




  • 2012-09-11 初次發佈。
  • 2017-07-12 更新成 Windows 10 的版本。

1 則留言:

  1. 下一章:排程教學 ...(好像打錯字了 - 檔案複製)

    回覆刪除

定時會整理。