Fichier Bat pour exécuter un .exe à l'invite de commande

134

Je veux créer un fichier .bat pour pouvoir cliquer dessus pour qu'il puisse s'exécuter:

svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/ServiceModelSamples/service

Quelqu'un peut-il m'aider avec la structure du fichier .bat?

abatishchev
la source

Réponses:

199

Pour démarrer un programme, puis fermer l'invite de commande sans attendre la fermeture du programme:

start /d "path" file.exe
abatishchev
la source
10
@MehdiJ: définit le répertoire personnel.
abatishchev
2
son possible d'exécuter le fichier chauve-souris à partir du navigateur Web? comme un javascript pour appeler le fichier bat ??
Karthi
5
@Karthi: désolé, c'est impossible
abatishchev
2
@Karthi Vous ne voulez pas que javascript puisse exécuter un fichier bat pour des raisons de sécurité.
Roland
1
comment attendez-vous que le programme se termine?
m4l490n
48

Vous pouvez utiliser:

start "windowTitle" fullPath/file.exe

Remarque: le premier ensemble de guillemets doit être là mais vous n'avez rien à y mettre, par exemple:

start "" fullPath/file.exe
user2075928
la source
9
Le «premier ensemble de guillemets» est simplement le titre de la fenêtre et n'est PAS obligatoire. Il est cependant préférable de spécifier le répertoire de démarrage en utilisant / d start /d "fullpath" file.exe Cela garantit que tous les fichiers dépendants, par exemple une DLL, sont trouvés et chargés.
Tom Wilson
34

c'est un code très simple pour exécuter le type de code notepad ci-dessous dans un bloc-notes et enregistrer dans l'extension .bat Exapmle: notepad.bat

start "c:\windows\system32" notepad.exe   

(le code ci-dessus "c: \ windows \ system32" est le chemin où vous avez conservé votre programme .exe et notepad.exe est votre fichier de programme .exe)

prendre plaisir!

Shinukb
la source
27

Mettez simplement cette ligne dans le fichier bat ...

Vous pouvez également créer un raccourci pour svcutil.exe, puis ajouter les arguments dans la fenêtre «cible».

GavinCattell
la source
7

Un fichier bat n'a pas de structure ... c'est ainsi que vous le saisissez sur la ligne de commande. Alors ouvrez simplement votre éditeur préféré ... copiez la ligne de code que vous voulez exécuter ... et enregistrez le fichier sous n'importe quel.bat ou autre.cmd

MBoy
la source
7

Il suffit de coller un fichier et de l'appeler "ServiceModelSamples.bat" ou quelque chose comme ça.

Vous pouvez ajouter "@echo off" comme ligne un, de sorte que la commande ne soit pas imprimée à l'écran:

@echo off
svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/ServiceModelSamples/service
myplacedk
la source
Et au lieu d'ajouter une @echo offpremière ligne, vous pouvez simplement ajouter @au début de la ligne que vous ne voulez pas être repris ...
menssana
6

Qu'est-ce qui vous en empêche?

Mettez cette commande dans un fichier texte, enregistrez-la avec l'extension .bat (ou .cmd) et double-cliquez dessus ...

En supposant que la commande s'exécute sur votre système, je pense que c'est tout.

Simon
la source
6

Si vous voulez être vraiment intelligent, tapez sur la ligne de commande:

echo svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/ServiceModelSamples/service >CreateService.cmd

Ensuite, vous avez CreateService.cmdque vous pouvez exécuter quand vous le souhaitez ( .cmdest juste une autre extension pour les .batfichiers)

kͩeͣmͮpͥ ͩ
la source
3

Comme décrit ici , à propos de la Startcommande, ce qui suit démarrerait votre application avec les paramètres que vous avez spécifiés:

start "svcutil" "svcutil.exe" "language:cs" "out:generatedProxy.cs" "config:app.config" "http://localhost:8000/ServiceModelSamples/service"
  • "svcutil", après la startcommande, est le nom donné à la fenêtre CMD lors de l'exécution de l'application spécifiée. Il s'agit d'un paramètre obligatoire de la startcommande.

  • "svcutil.exe"est le chemin absolu ou relatif de l'application que vous souhaitez exécuter. L'utilisation de guillemets vous permet d'avoir des espaces dans le chemin.

  • Une fois l'application à démarrer spécifiée, tous les paramètres suivants sont interprétés comme des arguments envoyés à l'application.

Gipphe
la source
2

Si vos dossiers sont configurés pour "masquer les extensions de fichier", vous nommerez le fichier * .bat ou * .cmd et ce sera toujours un fichier texte (extension .txt masquée). Assurez-vous de pouvoir nommer correctement un fichier!

marque
la source
1

Eh bien, le point important qu'il semble ici est que svcutil n'est pas disponible par défaut à partir de la ligne de commande, vous pouvez l'exécuter à partir du raccourci de ligne vs xommand, mais si vous créez un fichier de commandes normalement, cela ne vous aidera pas à moins que vous n'exécutiez le fichier vcvarsall.bat avant le scénario. Ci-dessous un exemple

«C: \ Program Files \ Microsoft Visual Studio * version * \ VC \ vcvarsall.bat»
svcutil.exe / language: cs /out:generatedProxy.cs /config:app.config http: // localhost: 8000 / ServiceModelSamples / service
arkoak
la source