Créez et exécutez votre propre extension de fichier?

12

Je vérifiais les fichiers dans un ancien jeu appelé Warcraft III et j'ai vu qu'ils avaient des fichiers avec leur propre extension, par exemple file name.w3x,.

Comment créer votre propre extension de fichier et l'exécuter?

mendez
la source

Réponses:

22

En bref: vous créez votre propre extension de fichier en appliquant les lettres que vous souhaitez à la fin du nom de fichier. Vous l'exécutez en indiquant à votre système d'exploitation quel programme doit être appelé lorsque vous double-cliquez dessus.


Explication complète:

Une extension de fichier est en fait juste les lettres après le fichier, l'extension n'a rien de magique. Beaucoup de fichiers que j'ai créés lorsque je suis sur mes machines Linux, j'ai même oublié de mettre l'extension de fichier.

Cela étant dit, dans Windows, l'extension de fichier est la façon dont Windows détermine ce qu'est le fichier. Si vous changez l'extension de fichier d'un .mp3 par exemple en .png, Windows pensera que c'est une image lorsqu'il essaie de l'ouvrir. Ce que fait Windows, c'est qu'il regarde l'extension et envoie le fichier à un programme approprié lié à ce fichier. ainsi .mp3 est envoyé à iTunes, .png est envoyé à Paint, .html est envoyé à Firefox / Chrome et .docx est envoyé à Word.

En termes de création de ces fichiers, ils se répartissent en deux catégories. Il y a des fichiers de texte brut (.html, .txt, .java, .py, .cpp, .config, .xml) et puis il y a des fichiers de données binaires (.exe, .mp3, .png) (enfin, et puis là sont des mélanges de texte binaire et de texte brut comme .docx, mais ils peuvent être traités comme des fichiers binaires). Lorsque vous traitez des fichiers en texte brut (c'est du texte brut si le Bloc-notes peut l'ouvrir), c'est très facile à faire. Selon votre langage de programmation, vous ouvrez simplement un fichier et lisez / écrivez des chaînes dans le fichier. Avec les fichiers binaires, cela devient un peu plus compliqué, mais le principe reste le même, vous lisez / écrivez des octets à partir d'un fichier.

Faire en sorte que vous puissiez exécuter ce type de fichier lorsque vous double-cliquez dessus est probablement l'étape la plus difficile en fonction de votre langage de programmation. S'il s'agit de C ou de C ++, vous pointez simplement Windows vers votre fichier .exe et Windows envoie le fichier que vous souhaitez ouvrir comme deuxième argument dans args à la méthode principale de votre programme. En Java ou Python, c'est toujours faisable, mais vous devrez trouver une sorte de solution de contournement pour que Windows ouvre l'environnement d'exécution ou l'interpréteur et envoie l'argument de fichier au programme.

Narcolapser
la source
2

Vous devrez choisir un langage de programmation , puis écrire un programme qui recherche des fichiers avec une extension que vous avez choisie. Ces fichiers doivent également être écrits pour que le programme qui les recherche puisse lire, comprendre et exécuter le code qu'il contient.

CharlieRB
la source
2

En supposant que vous parlez de Warcraft III, vous êtes sous Windows. En supposant également que vous ne vouliez pas le faire par programme (sinon vous l'auriez demandé sur stackoverflow).

Enregistrez un fichier avec votre extension personnalisée. Ouvrez le fichier dans l'Explorateur Windows et il vous demandera comment l'ouvrir. Choisissez «choisir dans la liste», sélectionnez le programme souhaité et cochez «Toujours utiliser le programme sélectionné pour ouvrir ce type de fichier». Voila, vous pouvez maintenant "exécuter" des fichiers avec votre extension personnalisée.

Brian
la source
0

L'extension .w3x est une extension de carte. Warcraft 3 ne lance pas cette extension, ce sont juste des données cartographiques.

Ils ont leur propre algorithme / langage de balisage pour créer ces fichiers et comment les lire.

Dévateur
la source
0

Eh bien, enregistrez simplement le fichier sous un nom et cette extension. «Exécuter», c'est un peu plus difficile, et cela dépend aussi partiellement du système d'exploitation.

Tour
la source
Il lui suffit de l'exécuter avec le programme qu'il utilisait auparavant ....
ytpillai