web-dev-qa-db-ja.com

独自のファイル拡張子を作成して実行しますか?

Warcraft IIIと呼ばれる古いゲームでファイルをチェックアウトしていたところ、file name.w3xなどの独自の拡張子が付いたファイルがあることがわかりました。

どのようにして独自のファイル拡張子を作成して実行しますか?

11
mendez

つまり、ファイル名の最後に好きな文字を適用して、独自のファイル拡張子を作成します。これを実行するには、OSにダブルクリックしたときに呼び出すプログラムを指示します。


完全な説明:

ファイル拡張子は実際にはファイルの後の単なる文字であり、拡張子に魔法のようなものはありません。 Linuxマシンで作成した多くのファイルは、ファイル拡張子を付けることすら忘れていました。

そうは言っても、Windowsでは、ファイル拡張子はWindowsがファイルを判別する方法です。たとえば.mp3のファイル拡張子を.pngに変更すると、Windowsはそれを開こうとしたときに画像であると見なします。 Windowsが行うことは、拡張子を調べ、そのファイルに関連する適切なプログラムにファイルを送信することです。したがって、.mp3はiTunesに送信され、.pngはペイントに送信され、.htmlはFirefox/Chromeに送信され、.docxはWordに送信されます。

これらのファイルの作成に関しては、2つのカテゴリに分類されます。プレーンテキストファイル(.html、.txt、.Java、.py、.cpp、.config、.xml)があり、バイナリデータファイル(.exe、.mp3、.png)があります(それから.docxのようなバイナリとプレーンテキストの混合ですが、バイナリファイルのように扱うことができます)。プレーンテキストファイル(メモ帳でそれを開くことができる場合はプレーンテキスト)を扱う場合は、非常に簡単です。プログラミング言語にもよりますが、基本的にはファイルを開いて文字列を読み書きするだけです。バイナリファイルでは少し複雑になりますが、原則は同じです。ファイルからバイトを読み書きします。

それをダブルクリックしたときにそのタイプのファイルを実行できるようにすることは、プログラミング言語によってはおそらく最も難しいステップです。 CまたはC++の場合、Windowsで.exeを指定するだけで、Windowsは開きたいファイルをargsの2番目の引数としてプログラムのメインメソッドに送信します。 JavaまたはPython=でも実行できますが、Windowsでランタイム環境を開くには、何らかの回避策を講じる必要があります。インタプリタを使用して、ファイル引数をプログラムに送信します。

21
Narcolapser

プログラミング言語 を選択し、選択した拡張子を持つファイルを探すプログラムを作成する必要があります。それらを探しているプログラムがコードを読み取り、理解し、実行できるように、これらのファイルも書き込む必要があります。

2
CharlieRB

あなたがWarcraft IIIについて話しているので、あなたはWindowsを使っていると仮定します。また、これをプログラムで実行したくない場合も想定します(そうしないと、stackoverflowを要求することになります)。

カスタム拡張子を付けてファイルを保存します。 Windowsエクスプローラでファイルを開くと、それを開く方法を尋ねてきます。 [リストから選択]を選択し、目的のプログラムを選択して、[常に選択したプログラムを使用してこの種類のファイルを開く]をオンにします。これで、カスタム拡張子を持つファイルを「実行」できるようになりました。

2
Brian

.w3x拡張子はマップ拡張子です。 Warcraft 3はこの拡張機能を実行せず、単にマップデータです。

彼らはこれらのファイルを作成するための独自のアルゴリズム/マークアップ言語とそれらを読み取る方法を持っています。

0
Devator

まあ、名前と拡張子を付けてファイルを保存してください。 「実行」はもう少し難しく、部分的にOSにも依存します。

0
Rook