Windowsでは、*。exe、*。bat、*。cmd、および* .comはすべて、ダブルクリックするだけで実行できるプログラムまたはシェルスクリプトを表します。ファイルが実行可能であることを示す他のファイル名拡張子はありますか?
[〜#〜] edit [〜#〜]:新しいプロジェクトにジャンプするとき(または古いプロジェクトに戻るとき!)、周りを見回すときにやりたいことの1つはどんなツールがあるか調べてください。 Unix(私が何十年も使用してきた)には実行ビットがあるので、これは次のように簡単です。
find . -executable -type f
「この実行可能ファイルか(そしてどのように実行するか)」のメカニズムがはるかに複雑なように見えるWindowsでは、ほぼ同じ目的に役立つファイル名拡張子が比較的少ないと思いました。
私の現在のプロジェクトでは、*.exe *.bat *.cmd
はほぼ間違いなく十分ですが、信頼できるリストがあるかどうか尋ねると思いました。
基本的な「実行可能」ファイル(WindowsがPATHを介して実行するように見えるファイル)は、PATHEXTと呼ばれる環境変数に格納されます。これは、コマンドプロンプトから確認できます。
C:\>set PATHEXT
私のマシンでは、これを取得します(WinXP):
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.PSC1
これは排他的なリストではありません。 Windowsは他のファイルも実行します(たとえば、スクリーンセーバーの拡張子は.scrで、実行可能ファイルです)。 Windowsは他のファイル拡張子の実行も許可しますが、上記のファイル拡張子はデフォルト実行可能拡張子です。
Windowsでは、どのファイル名拡張子が実行可能ファイルを示しますか?
何を意味しますか?
現時点では、質問が少し混乱しているように聞こえるかもしれませんが、質問は重要です。なぜそれが重要なのかを説明すると、問題はより明確になります。
PATHEXT変数(コマンドプロンプトの「環境」内)の Ken Whiteの回答 は素晴らしく短い回答であり、その回答はうまくいくかもしれませんが、回答は不完全です。不完全な理由は、あなたがやろうとしていることに基づいて正解が異なるからです。
たとえば、次のことを試みることができます。
プログラムを実行するこれらの方法のいくつかは、サポートされるファイル名拡張子を決定するために異なる方法を使用する場合があります。特に、CMDの使用は[実行]メニューとは異なる場合があります。
たとえば、 Wesの不可解なブログ:Windows実行コマンドのカスタマイズ... は、レジストリキーを含め、チェックされているさまざまな場所に注意します。
答えは、使用されているMicrosoftWindowsのバージョンによっても異なる場合があります。 Windows 10では、コマンドプロンプトでZipファイルの名前を入力するだけで、Windowsエクスプローラーが開きました。 Windowsでは機能しないことを覚えているようですXP(ただし、Windows XPでは、「start filename.Zip」と入力して同じような効果を得ることができます)。したがって、メモリに障害があります。または、Microsoftは新しいバージョンのWindowsで改善を試みています(私にとっては後者であるといいのですが)。
Windows 10の従来のコマンドプロンプト(「CMD」を実行)では、Zipファイルの場所に移動して(「CD」コマンドを使用)、「filename.Zip」と入力すると、ファイルが開きます。その場所に移動して「filename」と入力すると(「.Zip」ファイル拡張子は省略)、Windowsはファイルを見つけられません。ただし、「ECHO %PATHEXT%
」を実行してから「SET PATHEXT=%PATHEXT%;.Zip
」を実行すると(目的の効果が得られたことを確認するために、もう一度「ECHO %PATHEXT%
」を実行)、「filename」と入力してコマンドプロンプトは.Zipファイルを検索します。つまり、これは%PATHEXT%変数の効果です。
ASSOC
コマンドを実行すると、拡張機能の別のリストを表示できる場合があります。たとえば、そのコマンドを実行すると、次のような複数行の出力が表示されます(私のシステムでは)-".Zip=CompressedFolder
"。次に、「FTYPE | FIND /I "CompressedFolder"
」と入力すると、何が実行されるかを確認できます。 (これは従来のコマンドラインを対象としています。PowerShellはエスケープされていない引用符を好みません。)(コマンドラインの残りの部分なしで「FTYPE
」と入力すると、さらに多くの情報が表示されます。他の拡張機能に関する出力。)
Windows10コンピューターで「ASSOC | FIND /C "."
」と入力すると、その方法でファイルの関連付けを確認すると、339行の出力があることがわかります。
MS KB 162059 は、InternetExplorerがOfficeドキュメントを開く方法を調整することです。
したがって、デフォルトの実行可能ファイルのリストを要求するのはあいまいすぎます。 Microsoft Windowsのさまざまなコンポーネントがさまざまなリソースを使用する可能性があるため、正確な回答を得るには、質問をより具体的にする必要があります。
質問には、エクスプローラーを使用してアイコンをダブルクリックすることが記載されていました。それによって使用される実行可能ファイルのリストを表示するには、レジストリを確認することをお勧めします。これは、コマンドプロンプトから実行できます。
reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts
(ここではリストしません。Windows10コンピューターには286個あります。)
それは拡張機能をリストします。拡張機能の詳細など、詳細情報を表示するには:
reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts /s
したがって、これまでにわかるように、この一見無害に見える質問は、実際には非常に複雑なトピックになる可能性があります。私は、Windowsの単一のコンポーネントがファイル名拡張子を決定する方法に完全に対処する完全な回答を得ることができるようにするために、質問が非常に具体的である必要がある理由について私の主張をしたと思います。簡単に言えば、Windowsにはさまざまな方法で動作する複数のコンポーネントがあるため、Windowsに対する答えは1つだけではありません。うまくいけば、私はそれを示し始め、関連情報を示すいくつかの追加のリソースを指摘しました。
インストーラープログラムの一般的なものは.msi
。
.vbsはスクリプトです。および.js
しかし、あなたがいくつかの歴史を知っているなら、あなたは物事をより良い文脈に置くことができるでしょう。私が持っている限りコンピュータを使用していなかった場合、どの拡張機能が実行可能ファイルであるかを知ることに焦点を当てるかもしれません。「それらは非常にエキサイティングで基本的なようです。そして私はそれらがそうであると思います。時間が経つにつれて、.COMはDOSの後でかなり消滅しました。これは主に、その後、command.comシェルのWindows9xで発生したと思います。たぶん古いNTはそれらをたくさん使っていました。スクリプト..vbsはおそらくwin9xの頃に登場したので、新しいものが登場します。 ps1はvbsよりもさらに新しいです。
.COMは非常に古いです。たとえば、WindowsXPが.COMファイルに依存しているかどうかはわかりません。しかし、私が推測するレガシーアプリ用のcommand.comがもっとあります。
.BATは、DOS時代からのスクリプトです。今日でも使用されています。 .VBSはより現代的ですが、.BATはまだ使用されており、すぐに使用されなくなることはなく、人々は賢明に両方を使用します。私が使用したことのない.CMDがありますが、おそらく他のものとそれほど変わらないでしょう。 ps1(powershell。これはvbscriptよりも新しい)があります。大まかな意味でスクリプトを話している場合は、.REGがあります。
実際、実行可能ファイルという用語は、EXEと.COMにのみ適用されます(.COMは基本的に消滅しています。もっとwin9xのものです(win9xのコマンドプロンプトはcommand.comであり、cmd.exeはありませんでした)。COMファイルはDOSのものです。しかし、NTのCMDではありません。たとえばNTのコマンドシェルはcmd.exeですが、前述のように、NTにはcommand.comがありますが、レガシーアプリの場合は推測しますが、NTはおそらくそれに依存していません)
.MSC例: start..run..services.mscそれらは実行可能ファイルではありません..私はそれらが一種のスクリプトであると思います..services.mscはxmlで書かれているようです)しかし、それを緩めると、システム以外にさらに一歩進む可能性があります物事、そしてHTMLページはそれらが解釈される1つのcosであると言います..スクリプトのように。ただし、OSによるものではありません。.CPLはスクリプトではありません。メモ帳で確認してください。人々はそれらを実行可能ファイルやスクリプトとは思わない傾向があります。おそらく、MS開発者だけがそれらを作成します。 (または他の人がそうする場合、それは非常にまれです!)