La situation est que j'ai une application portable qui doit avoir une variable d'environnement définie. Il essaie également de définir ses paramètres dans le répertoire de données du programme utilisateur.
Pour éviter d'exécuter l'exécutable en mode non portable (pour éviter qu'il s'exécute sans aucun paramètre), j'ai effacé l'extension ".exe" du fichier, mais je ne peux pas l'exécuter non seulement avec la souris (ce que je veux) mais aussi via la start
commande .
Existe-t-il un moyen d'exécuter un tel fichier exécutable qui n'a pas d'extension exe?
windows
command-line
rsk82
la source
la source
Réponses:
Oui - la simple saisie du nom de fichier complet du programme fonctionne généralement. (La
.exe
condition n'existe que dans le shell GUI.)(Il se peut cependant que le fichier ait besoin d' une extension - donc si vous ne parvenez pas
MyProgram
à l'exécuter, renommez-le enMyProgram.notexe
ouMyProgram.lol
et réessayez.)la source
.exe
à.zip
, j'ai essayé de l'ouvrir via cmd.exe, et il a toujours exécuté l'auto-extracteur au lieu d'ouvrir WinZip.MZ
sera exécuté par cmd, vérifiez ciTout fichier avec n'importe quelle extension et les deux premiers octets
MZ
sera traité comme un EXE.Essayez de suivre:
a.txt
fichier,MZ
, enregistrez-le.cmd
, allez dans son dossier,a.txt
et voyez le message d'erreur.Remplacez
MZ
parMS
et réessayez - cette fois, le bloc-notes s'exécutera avec le fichier ouvert.la source
'' is not recognized as an internal or external command, operable program or batch file.
erreurThis version of D:\test.txt is not compatible with the version of Windows you're running. Check your computer's system information and then contact the software publisher.
auparavant, j'ai utilisé Windows 10 LTSB au travail et cela n'a pas fonctionné'file' is not recognized
erreur.J'ai essayé d'exécuter le processus à partir d'un fichier sans l'extension .exe. Lorsque je n'ai pas réussi à le faire à partir de cmd.exe, j'essaie certaines commandes powershell. En voici un:
Processus de démarrage
La documentation dit sur la syntaxe par défaut et UseShellExecute. Avec juste:
la commande utilise la syntaxe UseShellExecute et renvoie une erreur concernant l'application non associée à ce type de fichier. Pour forcer la syntaxe par défaut, j'ai ajouté un paramètre que UseShellExecute n'a pas:
Mon programme a été démarré et écrit la sortie sur la console. C'était suffisant pour moi, car je n'en avais besoin qu'à des fins de test.
la source