Bat-Datei zum Ausführen einer EXE-Datei an der Eingabeaufforderung


134

Ich möchte eine .bat-Datei erstellen, damit ich einfach darauf klicken kann, damit sie ausgeführt werden kann:

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

Kann mir jemand bei der Struktur der .bat-Datei helfen?


Antworten:


198

So starten Sie ein Programm und schließen die Eingabeaufforderung, ohne auf das Beenden des Programms zu warten:

start /d "path" file.exe

10
@MehdiJ: Legt das Home-Verzeichnis fest.
Abatishchev

2
Ist es möglich, die Bat-Datei über einen Webbrowser auszuführen? wie ein Javascript, um die Fledermausdatei aufzurufen?
Karthi

4
@ Karthi: Entschuldigung, es ist unmöglich
abatishchev

1
@Karthi Sie möchten aus Sicherheitsgründen nicht, dass Javascript eine Bat-Datei ausführen kann.
Roland

1
Wie warten Sie, bis das Programm beendet ist?
m4l490n

48

Sie können verwenden:

start "windowTitle" fullPath/file.exe

Hinweis: Der erste Satz von Anführungszeichen muss vorhanden sein, aber Sie müssen nichts in sie einfügen, z.

start "" fullPath/file.exe

8
Der 'erste Satz von Anführungszeichen' ist lediglich der Fenstertitel und wird NICHT benötigt. Es ist jedoch am besten, das Startverzeichnis mit / d anzugeben. start /d "fullpath" file.exe Dadurch wird sichergestellt, dass alle abhängigen Dateien, z. B. eine DLL, gefunden und geladen werden.
Tom Wilson

34

Es ist ein sehr einfacher Code zum Ausführen des folgenden Editor-Codetyps in einen Notizblock und zum Speichern in der Erweiterung .bat. Beispiel: notepad.bat

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

(Der obige Code "c: \ windows \ system32" ist der Pfad, in dem Sie Ihr EXE-Programm gespeichert haben, und notepad.exe ist Ihre EXE-Programmdatei.)

genießen!


27

Fügen Sie einfach diese Zeile in die Fledermausdatei ein ...

Alternativ können Sie sogar eine Verknüpfung für svcutil.exe erstellen und dann die Argumente im Fenster 'Ziel' hinzufügen.


7

Eine bat-Datei hat keine Struktur ... so würden Sie sie in die Befehlszeile eingeben. Öffnen Sie einfach Ihren bevorzugten Editor. Kopieren Sie die Codezeile, die Sie ausführen möchten. Speichern Sie die Datei als Whatever.bat oder Whatever.cmd


7

Stecken Sie einfach eine Datei ein und nennen Sie sie "ServiceModelSamples.bat" oder so.

Sie können "@echo off" als erste Zeile hinzufügen, damit der Befehl nicht auf dem Bildschirm gedruckt wird:

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

Und anstatt eine @echo offals erste Zeile hinzuzufügen, können Sie einfach @am Anfang der Zeile hinzufügen , dass Sie nicht wiederholt werden möchten ...
menssana

6

Was hält dich auf?

Fügen Sie diesen Befehl in eine Textdatei ein, speichern Sie ihn mit der Erweiterung .bat (oder .cmd) und doppelklicken Sie darauf ...

Vorausgesetzt, der Befehl wird auf Ihrem System ausgeführt, ist das alles.


6

Wenn Sie wirklich schlau sein möchten, geben Sie in der Befehlszeile Folgendes ein:

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

Dann haben Sie das CreateService.cmd, was Sie ausführen können, wann immer Sie wollen ( .cmdist nur eine weitere Erweiterung für .batDateien)


3

Wie hier beschrieben , Startstartet Ihre Anwendung über den Befehl Folgendes mit den von Ihnen angegebenen Parametern:

start "svcutil" "svcutil.exe" "language:cs" "out:generatedProxy.cs" "config:app.config" "http://localhost:8000/ServiceModelSamples/service"
  • "svcutil"Nach dem startBefehl wird der Name angegeben, der dem CMD-Fenster beim Ausführen der angegebenen Anwendung gegeben wird. Dies ist ein erforderlicher Parameter des startBefehls.

  • "svcutil.exe"ist der absolute oder relative Pfad zu der Anwendung, die Sie ausführen möchten. Durch die Verwendung von Anführungszeichen können Leerzeichen im Pfad vorhanden sein.

  • Nachdem die zu startende Anwendung angegeben wurde, werden alle folgenden Parameter als an die Anwendung gesendete Argumente interpretiert.


2

Wenn Ihre Ordner auf "Dateierweiterungen ausblenden" eingestellt sind, benennen Sie die Datei * .bat oder * .cmd und es handelt sich weiterhin um eine Textdatei (versteckte TXT-Erweiterung). Stellen Sie sicher, dass Sie eine Datei richtig benennen können!


1

Nun, der wichtige Punkt hier scheint zu sein, dass svcutil standardmäßig nicht über die Befehlszeile verfügbar ist. Sie können es über die Verknüpfung vs xommand line ausführen. Wenn Sie jedoch normalerweise eine Batchdatei erstellen, hilft dies nur, wenn Sie die Datei vcvarsall.bat zuvor ausführen das Skript. Unten ist ein Beispiel

"C: \ Programme \ Microsoft Visual Studio * Version * \ VC \ vcvarsall.bat"
svcutil.exe / language: cs /out:generatedProxy.cs /config:app.config http: // localhost: 8000 / ServiceModelSamples / service
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.