• <ul id="mayc0"></ul>
    <ul id="mayc0"><center id="mayc0"></center></ul>
    <strike id="mayc0"><input id="mayc0"></input></strike>
    <ul id="mayc0"></ul>
  • 始創于2000年 股票代碼:831685
    咨詢熱線:0371-60135900 注冊有禮 登錄
    • 掛牌上市企業
    • 60秒人工響應
    • 99.99%連通率
    • 7*24h人工
    • 故障100倍補償
    您的位置: 網站首頁 > 幫助中心>文章內容

    windows 7文件關聯

    發布時間:  2012/9/9 16:02:39

    桌面沒有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.EⅩE(記事本)來打開的,這個notepad.EⅩE就是打開txtfile文件類型的開放式命令。
    如何來修改這種文件類型與開放式命令之間的關聯呢?這需要用到另外的一個重要的命令:ftype

    讓我們在cmd中輸入:
    ftype /?
    回車。我們可以得到這個命令的幫助。

    ftype命令有兩個作用,一是顯示文件類型與開放式命令之間的關聯,一是改寫文件類型與開放式命令之間的關聯。

    如果我們想知道一種文件類型與什么樣的開放式命令相關聯,我們只需要在cmd中輸入:
    ftype fileType
    回車。我們就能夠得到我們想要得到的結果。這個fileType代表的是指定的文件類型,比如lnkfile

    讓我們輸入:ftype lnkfile
    回車。正常情形下我們得到的命令結果是:
    沒有找到文件類型“lnkfile”或者與其相關的開放式命令
    這個結果表明了,正常的情形下,lnkfile是沒有與任何開放式命令相關聯的。

    讓我們輸入:ftype lnkfile=notepad.EⅩE
    回車。讓我們再輸入:
    ftype lnkfile
    回車,我們將得到的命令結果是:
    lnkfile=notepad.EⅩE
    這個結果表明了:文件類型lnkfile就與開放式命令notepad.EⅩE關聯上了。
    這種情形下,仍然并不會影響快捷方式的打開。
    那么,如何來清除這個關聯,并且不與其它的開放式命令關聯呢?我們只要輸入:
    ftype lnkfile=
    回車即可。在xp下,這個命令無效,但是,我們可以在xp下輸入:
    ftype lnkfile= 
    回車。這個命令與前一個命令在外表上幾乎看不出分別,分別就在于,前一個命令在=后面沒有空格,而后一個命令在=后有一個空格。

     


    讓我們輸入:
    ftype txtfile
    回車。正常情形下,我們可以得到的命令結果是:
    txtfile="%SystemRoot%\system32\NOTEPAD.EⅩE" %1
    這個結果表明了:文件類型txtfile與開放式命令txtfile="%SystemRoot%\system32\NOTEPAD.EⅩE" %1相關聯。

    如果一種文件類型與開放式命令之間的關聯出現了問題,而我們知道正確的開放式命令是什么,這時我們只需要在cmd中輸入如下命令并回車即可修復:
    ftype fileType=openCommandString
    這里fileType代表的是指定的文件類型,比如txtfile,這里openCommandString代表的是開放式命令,比如notepad.EⅩE

    如果我們的txtfile與開放式命令之間的關聯出了問題,我們只需要在cmd中輸入:
    ftype txtfile="%SystemRoot%\system32\NOTEPAD.EⅩE" %1
    回車。這樣,我們也就修復了txtfile文件類型與它的開放式命令之間的關聯。
    所謂開放式命令,其實就是對這種文件類型的打開方式。

    每一種注冊了的文件類型,在注冊表中都會存在著它的一個對應的注冊表項,這個注冊表項就是:
    HKEY_CLASSES_ROOT\filetype
    這個filetype代表的是文件類型,比如batfile文件類型所對應的注冊表項就是:
    HKEY_CLASSES_ROOT\batfile
    ftype命令所修改的注冊表項主要就是---HKEY_CLASSES_ROOT\filetype\shell\open\command---這個項的默認值的數據。
    但需要注意的是,ftype命令所修改的并不僅僅是這個默認值的數據。因而直接在注冊表中修改這個數據,并不能代替ftype命令的修改。
    當然,ftype命令所修改的全部的東西都可以在注冊表中找到,但是,我們那樣一一地去找,遠不如用ftype命令簡單修改來得爽。


    右鍵打開方式
    前面我們談到了擴展名與文件類型的關聯,文件類型與開放式命令的關聯(也就是文件的打開方式),看起來好象我們關于文件關聯的問題就談完了,實則不然,還有另外的一個重要的方面我們沒有談到。這就是我們右擊一個文件,選擇打開方式(并不是所有文件右鍵都有打開方式這個選項的),然后我們選擇一個程序,并把“始終使用這種程序打開同類型文件”前的勾選上,點確認。比如本文開頭的那位朋友,把所有快捷方式都選擇以word程序打開一樣。這樣之后,這個文件類型也就與這個開放式命令關聯起來了。

    ftype命令是修改文件類型與開放式命令的關聯的,而右鍵打開方式也可以修改文件類型與開放式命令的關聯,這二者的關系是什么呢?
    我們發現,ftype命令和右鍵打開方式,這二者所修改的注冊表項是不同的。Ftype命令所修改的注冊表項是:
    HKEY_CLASSES_ROOT\filetype
    這個filetype代表的是文件類型,比如HKEY_CLASSES_ROOT\lnkfile
    而右鍵打開方式所修改的主要注冊表項是:
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ext
    這個.ext代表的是文件擴展名,比如:
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.lnk
    按照我的理解,ftype命令所修改的內容屬于系統設置,而右鍵打開方式所修改的內容則屬于用戶設置,這二者所設置的實際對象是一樣的,當二者不一致的時候,用戶設置優先于系統設置。


    三個注冊表項
    總之,文件關聯所涉及到的注冊表項主要是三個:
    HKEY_CLASSES_ROOT\.ext
    HKEY_CLASSES_ROOT\filetype
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ext


    問題解決
    現在要回到我們在開頭所說到的問題了。
    我教那位朋友首先輸入:
    assoc .lnk
    返回的命令結果是:
    .lnk=lnkfile
    這表明,擴展名.lnk與文件類型lnkfile之間的關聯沒有問題。
    我再要他輸入:
    ftype lnkfile
    返回的命令結果是:

    沒有找到文件類型“lnkfile”或者與其相關的開放式命令

    而這個結果是正常的,這表明,系統設置中的lnkfile與開放式命令之間的關聯也沒有問題。
    那么,問題只能出在用戶設置中的lnkfile與開放式命令之間的關聯出現了問題。
    一般的情形下,右鍵打開方式的設置優先于ftype命令對文件關聯的設置,這在xp和win7下都是一樣的,但對于擴展名為.lnk的快捷方式,二者卻具有不同。在win7下,即便是對于.lnk快捷方式,也是右鍵打開方式的設置優先于ftype命令的設置。


    找到了問題所在,我們就可以知道,對于這種快捷方式的文件關聯錯誤,我們用assoc和ftype命令都是無法解決的。解決的辦法就是:
    在注冊表中右鍵刪除下面這個注冊表項:
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.lnk\UserChoice
    這個注冊表項下的值和數據(具體就是名為progid的值和它的數據),是對應右鍵打開方式所設置的默認打開程序的。
    在刪除后,重啟電腦,或者重啟explorer,問題完美得到解決。可能會刪除不了progid,如果是這樣,可以直接右鍵刪除UserChoice即可。
    除了這種解決辦法,其它的解決辦法暫時沒有找到。
    順便說一下,在XP下,UserChoice這個注冊表項是沒有的。

     

    由于一些文件右鍵沒有打開方式選項,在xp下,我們可以在我的電腦里面點工具----查看----文件夾選項---文件類型,這里我們可以進行同樣的設置,而在win7下,我們可以在----控制面板---程序---默認程序----始終使用指定的程序打開此文類型---里面進行設置,xp下設置的可選項要多得多,而win7下則的設置則極為簡明。限于篇幅,具體的設置就不講了。

    億恩科技地址(ADD):鄭州市黃河路129號天一大廈608室 郵編(ZIP):450008 傳真(FAX):0371-60123888
       聯系:億恩小凡
       QQ:89317007
       電話:0371-63322206


    本文出自:億恩科技【www.vbseamall.com】

    服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線