Bonjour à tous,
J'aimerais savoir quels sont les extensions que je peux executer directement dans mon cmd.
Je sais qu'il y a les EXE , les BAT et les VBS.
Yen-a-t-il d'autres?
Merci
Version imprimable
Bonjour à tous,
J'aimerais savoir quels sont les extensions que je peux executer directement dans mon cmd.
Je sais qu'il y a les EXE , les BAT et les VBS.
Yen-a-t-il d'autres?
Merci
C'est réglable: CMD exécute tout ce qui est compatible avec ShellExecute(), donc tu peux même y mettre un document Word si ça te chante.
Par contre, si tu veux les extensions utilisables directement dans CreateProcess(), ce doivent être juste .exe et .com. Peut-être aussi les .bat, mais j'en doute.
Les batchs sont exécutés uniquement dans un interpréteur de commandes : soit celui en cours, soit un nouveau, mais ils ne sont en aucune façon indépendants.
Les VBS sont exécutés de façon similaire, reste ensuite les scripts PowerShell mais je n'ai jamais trop regardé ces deux derniers types de scripts.
Les seuls "vrais" exécutables sont les .EXE et les .COM, quoi qu'il arrive. Les autres types "d'exécutables" sont soit des scripts ou un équivalent bytecode (=exécutés dans un autre programme : les scripts, les .INF, les archives JAR, ...), soit des exécutables non-autonomes (DLL, SYS, DRV, etc.)
Ceci étant dit, tout ce qui est cliquable dans Windows pour être lancé / exécuté peut l'être en ligne de commande, au pire via la commande "start".
Je vais vous expliquer pourquoi.
Sur mon PC au travail je n'ai pas de logiciel pur de dev.
Donc a part notepad et VBA via mon office je peux pas faire grand chose.
Je sais que je peux faire un shell execute dans mon VBA.
Je me suis donc dis comme dans CMD je peux faire
>helloworld.vbs
et ca marchera.
Mais est ce que ca marche aussi pour le javascript
>helloworld.js
?
ou le perl
>helloworld.pl
?
et que ca execute ce qui est ecrit dans les fichiers et pas que ca m'ouvre notepad.
Bref ca m'aiderais a savoir en quels languages je pourrais coder car le vba, le vbs, et le shell c'est pas mal mais bon.....
J'aimerais savoir si ya d'autres pistes à explorer car certains languages ont des propriétés interessantes.
Eh bien, ça dépend de tes paramètres.
Si tu as réglé ton Explorer pour que l'action par défaut sur un .js soit de l'exécuter (sans doute avec WSH), eh bien tu pourras.
Pareil pour Perl.
Pour être plus précis, si sur ta machine du boulot tu n'as pas d'interpréteur Javascript ou Perl, tu ne pourras RIEN faire d'autre que les éditer... Car ce sont des scripts, il te faut donc l'interpréteur correspondant !
En Javascript, tu peux (un peu) te débrouiller via le navigateur Internet, au prix d'une vraie-fausse page HTML, mais en Perl, pas de salut : ce n'est pas un langage natif (ni "usuel") sous Windows.
Sinon, tu as toujours la solution de la clé USB : beaucoup d'interpréteurs de ce genre peuvent fonctionner dans un répertoire, sans être réellement installés sur le système. Tu branches ta clé, tu vas dessus avec l'interpréteur de commande, et zou...
Merci pour vos avis.
Comme dis au travail je ne peux rien faire, meme pas de clé usb : sécurité oblige.
De plus, si je souhaite créer ce genre de petits programmes ben c'est pour que ca marche chez moi mais aussi que je puisse les passer ptet à d'autres de mon service.
Donc je dois pouvoir fonctionner avec le strict minimun de la machine.
Ok. J'ai compris. Je vais essayer de voir ce que je peux faire. Tu penses donc que je peux créer une page HTML vide avec un script dedans....
Tu parles de language natif et usuel sous windows, justement c'est ca qui m'interesse. Je sais que ta le VB (normal :)) mais t'en a pas d'autres?
Je croyais que WIN etait fait en c++ : Ya pas un compilateur par défaut sur win?
Ici, par langage "natif", Mac LAK semble vouloir dire "langage interprété pour lequel Windows possède un interpréteur".
VBScript et JavaScript sont tous les deux interprétés par Windows Script Host et par Internet Explorer, VBA est interprété par Microsoft Office, mais il n'existe pas d'interpréteur Perl fourni automatiquement avec Windows.
D'ailleurs, il n'y a pas non plus de compilateur C ni C++ fourni automatiquement avec Windows. Par contre, il me semble qu'il y a un compilateur C# (mais sans Environnement de Dévéloppement Intégré) fourni automatiquement avec le Framework .Net.
Sans aucun souci, sauf si t'as un bureau blanc qui interdit l'utilisation du JS dans les pages HTML... Mais ça reste assez rare, quand même, tu peux donc te débrouiller en effet soit avec WSH, soit avec IE pour exécuter du JS. Je ne sais pas du tout ce que vaut le support JS de WSH, par contre...
Non : tu as VBS (natif), ou VBA (via Office), mais pas Visual Basic "tout court".
Les autres langages nativement utilisables, c'est le batch et PowerShell, ce sont les seuls à peu près garantis utilisables partout.
Tout dépend ensuite de l'installation faite par défaut : tu peux aussi bien avoir un interpréteur Python qu'un compilateur C++, pour ça, il faut "fouiller" un peu le disque et voir ce qui a été installé...
Windows est écrit en C principalement (pour toutes les couches basses), le C++ étant pour les couches de plus haut niveau, comme le C#.
Mais il n'intègre pas de compilateur C en standard... Linux non plus, d'ailleurs, c'est juste que sous Linux, c'est un choix "par défaut", mais tu ne peux absolument pas présupposer non plus qu'un compilateur C est présent sur une machine (même s'il faut reconnaître que c'est rarissime...).
Pour le compilateur C# avec le framework, je ne sais pas : faudrait poser la question aux spécialistes de cette plate-forme.
Merci à vous deux.
Je pense que vos réponses me conviennent.
Une dernière pour la route. Batch et Powershell c'est pas la même chose?
C'est aussi différent que peut l'être le BASIC du C#... Pas Visual Basic, hein, le "vrai" BASIC de l'époque !!
Le Batch, c'est le langage de script historique du DOS : cela existe depuis 1981 donc. Bien sûr, il a été enrichi depuis, mais fondamentalement, les scripts Batch de l'époque tournent sur les machines actuelles sans soucis s'ils sont "simples". Les Batchs "complexes" pourraient, parfois, nécessiter quelques ajustements par contre, mais très peu.
Le Powershell, c'est (en très très gros et très très résumé, pardon aux familles des puristes toussa toussa) du .NET en ligne de commande, avec tout le framework .NET à ta disposition directement en langage de script.
C'est bien sûr un peu plus complexe que le Batch, pas forcément adapté à certains scripts "simples", mais cela permet des opérations impossibles à réaliser en Batch sans faire d'outils externes compilés...
Ce qui est un énorme avantage pour certaines opérations très complexes à réaliser en script, cela évite d'avoir à réaliser un programme en C# et de le compiler, en devant le re-compiler à chaque modification (et ça demande un compilateur). Le PowerShell est bien sûr moins rapide qu'un programme compilé, mais en contrepartie il peut être modifié et adapté sur n'importe quelle machine avec juste le Bloc-notes comme outil.
salut,
voici une petite comparaison entre les 2 shells de "Laurent Dardenne"
Bon j'ai testé si le powershell fonctionnait en direct. Ben c'est mort.
J'ai XP sp2 sur mon poste de travail.
Tant pis.
Par contre j'ai cscript donc ca c cool je pense que je vais essayer de regarder un peu ca.
Je pourrais ptet utilser les javascripts.
Est ce que quelqu'un connait des commandes ou des exemples de taches possible en js et impossible en vbs?
Regarde si tu as "csc.exe" dans ton dossier du Framework .Net. Si tu l'as, alors tu devrais pouvoir créer de vrais programmes C# et faire à peu près n'importe quoi...
Bizarre...
Pourtant, sur un poste où j'ai .Net mais pas Visual d'installé, j'ai bien C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc.exe...
OUI je l'ai.
J'avais regardé au mauvais endroit.
Super je vais essayer de regarder sur google ce qu'on peut faire avec ca.
Merci encore de m'avoir filer le chemin.
Il n'est pas installé par défaut sur XP, je crois qu'il faut absolument le télécharger... Pour Vista et plus, je ne sais pas par contre.
Tout dépend de l'interpréteur JS que tu choisis... Si c'est celui de Microsoft, ça doit être à peu près équivalent.
Si tu prends celui d'Internet Explorer, tu as tout le principe de création de page HTML dynamiques qui est rajouté bien entendu.