平常我們用檔案總管瀏覽檔案,碰到 .txt 按 ENTER 會自動用記事本打開;
碰到 .mp3 按 ENTER 會自動打開某個媒體播放軟體來播放等等。
這種機制稱為檔案關聯,這種關聯性可以任由我們自由刪除、修改和新增。
我們用指令列來操作,邏輯觀念就會很清晰。
其實他是由檔案附檔名關連到檔案類型,再由檔案類型關連到應用軟體。
首先 assoc (association) 指令用來關聯副檔名與檔案類型。
執行 assoc 不佳任何參數會列出目前系統預設的全部附檔名與檔案類型的關聯,像這樣:
assoc
以上指令輸出內容很多,如果有興趣詳細查閱,可用以下兩個指令:
assoc|more
這樣只會顯示一頁,可以按空白鍵煥業來逐頁瀏覽,按 ENTER 逐行捲動,按 Q 結束顯示。
assoc>output.txt
這樣會把輸出內容導入 output.txt 再用記事本慢慢審閱。
如果只想知道某個副檔名的類型例如:
assoc .txt
會看到
.txt=txtfile
如果要取消這種關聯性就執行
assoc .txt=
要變更類型:
assoc .txt=PlainText
接著就來介紹 ftype (filetype) 指令,同樣只執行
ftype
會列出全部的檔案類型與應用程式的關聯。
接著我們執行
ftype txtfile
顯示
txtfile=%SystemRoot%\system32\NOTEPAD.EXE %1
看到靠近最後的 NOTEPAD.EXE 了嗎?這就是記事本的執行檔名稱。= 後面就是應用程式執行檔的所在路徑,
%SystemRoot% 這個環境變數指向 C:\Windows, \ 是資料夾層級的分隔符號,
由此我們看出 notepad.exe 位於 C:\Windows\system32 資料夾下。
有沒有發現學習指令列操作可以讓我們知道許多電腦運作的細節?
最後的 %1 代表 notepad 指令的第一個參數,也就是您在檔案總管按 ENTER 的檔名。
從這裡我們又學到一點:其實要用記事本打開檔案可以直接按 WINDOWS+R 接著輸入 notepad 資料夾\檔案.txt
是不是很有效率?
ftype 取消漢變更檔案類型與應用程式的關聯操作方式與 assoc 相同。
最後舉個實例說明創造關聯的操作。
假設我寫了一個播放軟體用來播放 .abc 這種樂譜檔案。
首先我執行
assoc .abc
系統顯示找不到副檔名 .abc 的檔案關聯
所以我要自己創造:
assoc .abc=abcmidi
ftype abcmidi=c:\abc\abcplay %1
以後只要我瀏覽到 .abc 檔案按 ENTER 就能呼叫 abcplay 來播放。