命令提示字元 (Cmd.exe) 執行做不具有可執行檔的檔案名稱副檔名的檔案

文章編號: 811528 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

徵狀

當您使用命令提示字元 (Cmd.exe 或 [Windows 指令處理器) 來開啟沒有副檔名為可執行檔的檔案,檔案可能執行成代替正在為 (根據檔案名稱副檔名) 的檔案類型註冊的程式中開啟的程式。

比方說,如果您在命令提示字元中輸入 檔案名稱filename.txt,Filename.txt 可能成而非開啟 「 記事本 」 中的程式執行。這也可能會發生作為批次 (.bat) 檔案中的命令列呼叫該檔案,或在 Windows NT 命令指令檔 (.cmd) 檔案。

發生的原因

如果下列情況屬實,可能就會發生這個問題:
  • 檔案是包含可執行檔的標頭的二進位影像。比方說檔案是以不同的副檔名已被重新命名一個.com 或.exe 檔案。
  • 您沒有指定要用來開啟檔案的 Cmd.exe 的程式。
當您在命令提示字元中輸入檔案名稱或為命令列批次檔或 Windows NT 命令指令碼中使用的檔案名稱時,Cmd.exe 會呼叫 CreateProcess 函式,來開啟檔案。CreateProcess 函式會檢查檔案的內容。如果檔案的二進位影像中包含可執行檔的標頭 (表示該檔案真的是.com 或.exe 檔案) 為程式執行該檔案。這項行為是與先前版本的 Windows NT 相容的。

其他可行方案

藉由使用 Windows 檔案總管開啟檔案,或使用下列命令列在適當的程式中開啟該檔案:
program filename.ext
例如 「 記事本 」 開啟 Filename.txt,使用下列命令列:
記事本 filename.txt

其他相關資訊

有些檔案包含病毒,或可以否則損害您的電腦。如果您不確定檔案是安全採取這類的預防措施,開啟檔案前:
  1. 請檢查檔案與病毒掃描程式。
  2. 儲存您的工作,請結束其他程式。
  3. 中斷連線從網際網路或其他網路連線。
Cmd.exe 會辨識具有.com、.exe、.bat、.cmd、.vbs、.js 及.ws 副檔名和任何其他由 [PATHEXT 定義的延伸檔案如果檔案的二進位影像包含可執行檔的標頭,可執行檔,但它的環境變數也可以執行沒有這些已知的擴充程式的檔案。

Windows 和 Microsoft Internet Explorer 會執行其他開啟檔案之前的檢查。這包括決定如果任何程式是在登錄中副檔名相關聯。這個 MIME 類型偵測允許 Windows 檔案總管,Internet Explorer 來尋找和啟動物件伺服器或程式的是檔案名稱副檔名相關聯。

?考

如需有關電腦病毒的詳細資訊,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
129972電腦病毒的描述
如需有關 MIME 類型的詳細資訊偵測,請造訪下列 Microsoft 網站:
http://msdn2.microsoft.com/en-us/library/ms775147.aspx
如需有關 CreateProcess 函式的詳細資訊,請造訪下列 Microsoft 網站:
http://msdn2.microsoft.com/en-us/library/ms682425.aspx

屬性

文章編號: 811528 - 上次校閱: 2007年12月1日 - 版次: 3.4
這篇文章中的資訊適用於:
  • Microsoft Windows XP Home Edition (家用版)
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Media Center Edition 2005 Update Rollup 2
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows XP Professional x64 Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
關鍵字:?
kbmt kbprb KB811528 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:811528
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見