一位朋友緊急求助:系統是windows7,這位朋友因為桌面沒有OFFICE圖標,又急著要用WORD,
就把一個桌面圖標右擊,選擇打開方式中選擇了word,而且沒有把“始終使用這種程序打開
同類型文件”前的勾去掉。這一改之後,結果所有的快捷方式全變成了word文檔了。可以
再改成別的,比如再改為記事本方式打開,但就是沒有辦法恢復原狀。
這是一個文件關聯的問題。這樣的問題在xp下根本就不可能發生,看來這個具體問題是
win7下的新問題。網上大致搜了一下,發現出現這樣問題的決不只是這位朋友,看來
有解決的必要。
為了解決這個問題,我們需要先談一下文件關聯的一些基本的知識,這樣才能使朋友們
做到知其然而知其所以然。
文件關聯,主要的是把文件類型與開放式命令關聯起來。而windows是通過文件的擴展
名來識別文件類型的,這就首先需要把擴展名與文件類型關聯起來。
assoc命令
要修改擴展名與文件類型的關聯,我們需要用到一個命令:assoc
點開始,搜索,輸入cmd,打開cmd,在cmd中輸入:assoc /?
回車。我們可以得到關於這個命令的幫助。
assoc命令的作用有兩個,一是顯示擴展名與文件類型的關聯,一是改寫擴展
名與文件類型的關聯。
讓我們以快捷方式的關聯為例來講述這個問題。
快捷方式的擴展名是.lnk,在windows下,這個擴展名一般是不會顯現出來的,如果
出現了,必是它的文件關聯出問題了。
我們在cmd中輸入:assoc .lnk
回車,我們可以得到的命令結果是:
.lnk=lnkfile
這個命令結果顯示了:擴展名.lnk與文件類型lnkfile是相關聯的。凡是擴展名為.lnk
的文件,都屬於lnkfile這個文件類型。
現在讓我們輸入命令:
assoc .lnk=lnk
回車。.lnk這個擴展名與文件類型的關聯就被改寫了。然後我們再輸入命令:
assoc .lnk
回車。我們得到的命令結果將是:
.lnk=lnk
這個結果顯示了,擴展名.lnk已經是與文件類型lnk相關聯,而不再是與lnkfile相關聯。
這個時候你去桌面上去看一下吧,你桌面上所有的快捷方式的後綴名.lnk全部顯
示出來了,所有的快捷方式都不再可用。雙擊時會提示:windows無法打開此文件。
現在再讓我們輸入:
assoc .lnk=lnkfile
回車。我們將會發現,一切又恢復了原狀。
總之,如果是快捷方式的擴展名與文件類型之間的關聯出現了問題,我們只需要輸入:
assoc .lnk=lnkfile
回車後即可以解決問題。
這樣,如果我們知道一種擴展名所屬的正確的文件類型,當這種擴展名與文件類型
之間的關聯出現問題的時候,我們只需要輸入:
assoc .ext=filetype
回車即可。
這個.ext代表的是文件擴展名,比如.lnk,這個filetype代表的是文件類型,
比如lnkfile。如果我們不知道一種擴展名所關聯的文件類型是什麼,我們只需要
在cmd中輸入:assoc .ext回車。我們就能得到它所關聯的文件類型是什麼。
每一個注冊了的擴展名都會在注冊表中存在著一個對應的注冊表項:
HKEY_CLASSES_ROOT\.ext
這裡的.ext代表的是擴展名,比如快捷方式對應的項就是:
HKEY_CLASSES_ROOT\.lnk
這個項有一個默認的值,這個默認的值的數據,就是這個快捷方式所關聯的文件
類型。因而assoc命令,主要的就是修改這個項的默認值的數據。但需要注意的
是,assoc命令所修改的內容,並不僅僅是這個項的默認值的數據,它還會要修改
其它的一些方面。所以我們直接在注冊表中改這個值的數據,並不能完全代替assoc命令。
fytpe命令
我們現在知道了如何把擴展名與文件類型關聯起來了,進一步地需要知道的是如何
把文件類型與開放式命令關聯起來。比如.txt擴展名所關聯的文件類型是txtfile,
而txtfile正常的情形下,總是用notepad.exe(記事本)來打開的,這個notepad.exe
就是打開txtfile文件類型的開放式命令。
如何來修改這種文件類型與開放式命令之間的關聯呢?這需要用到另外的一個重要
的命令:ftype
讓我們在cmd中輸入:
ftype /?
回車。我們可以得到這個命令的幫助。
ftype命令有兩個作用,一是顯示文件類型與開放式命令之間的關聯,一是改寫文件類型
與開放式命令之間的關聯。
如果我們想知道一種文件類型與什麼樣的開放式命令相關聯,我們只需要在cmd中輸入:
ftype fileType
回車。我們就能夠得到我們想要得到的結果。這個fileType代表的是指定的文件
類型,比如lnkfile
讓我們輸入:ftype lnkfile
回車。正常情形下我們得到的命令結果是:
沒有找到文件類型“lnkfile”或者與其相關的開放式命令
這個結果表明了,正常的情形下,lnkfile是沒有與任何開放式命令相關聯的。
讓我們輸入:ftype lnkfile=notepad.exe
回車。讓我們再輸入:
ftype lnkfile
回車,我們將得到的命令結果是:
lnkfile=notepad.exe
這個結果表明了:文件類型lnkfile就與開放式命令notepad.exe關聯上了。
這種情形下,仍然並不會影響快捷方式的打開。