2016-11-25 9 views
0

Ich möchte eine Batch-Datei erstellen, um meine ausführbare Datei zu starten, nachdem sie einige Änderungen an sich selbst vorgenommen hat.Batch So starten Sie ein Programm

Meine Batch-Datei ist:

START /D "C:\Users\me\AppData\Roaming\Test\Test.exe" 

Wenn ich es laufen, obwohl ich eine kurze Konsole Blitz nur bekommen und Test.exe startet nicht.

Ich habe überprüft, die EXE ist dort im Verzeichnis. Ich habe die Exe manuell gestartet, um zu überprüfen, ob sie auch funktioniert.

Meine Batch-Datei befindet sich in

C:\Users\admin\AppData\Roaming\run.bat" 
+1

'/ D' bedeutet Startverzeichnis. Entfernen Sie es. – Blorgbeard

+0

Wenn ich es ohne/d setze, bekomme ich ein Eingabeaufforderungsfenster angezeigt, aber mein Test.exe startet nicht – mocode8

+1

Es ist wahrscheinlich, dass Ihr Argument ein Titel ist (siehe 'start /?'). Versuchen Sie 'start '" "c: \ users \ me \ appdata \ roaming \ test \ test.exe" '. – Blorgbeard

Antwort

-1

Versuch zu diesem

start /d "C:\Users\me\AppData\Roaming\Test" Test.exe 
Ändern

Sie werden sehen, sollte die Konsole Blitz und Ihre Programmstart.

aktualisieren

Dank für @SomethingDark ‚s Vorschlag, den folgenden Code zu verwenden.

Der obige Code funktioniert jedoch nicht, wenn der Dateiname Leerzeichen enthält.

+1

Sie haben ein zusätzliches Anführungszeichen und das Flag '/ D' gehört nicht dazu. – SomethingDark

+0

@SetwasDunkel danke. was bedeutet es mit '/ D flag gehört nicht'? – active92

+0

Es bedeutet, nehmen Sie es heraus und verwenden Sie stattdessen den vollständigen Pfad. 'start" "C: \ Benutzer \ mich \ AppData \ Roaming \ Test \ Test.exe' – SomethingDark

2

Es gibt zwei Probleme:

  1. Die /D Option definiert lediglich den Anfangs- oder Arbeitsverzeichnis, aber nicht das Programm auszuführen.
  2. Der Befehl start berücksichtigt das erste in Anführungszeichen gesetzte Argument als Titel des neuen Fensters. Um Verwechslungen mit anderen Argumenten zu vermeiden, geben Sie immer einen Fenstertitel an (der auch leer sein kann).

Es gibt zwei Lösungen, die äquivalent eigentlich nicht genau sind:

  1. Entfernen Sie die /D Option, so das aktuelle Arbeitsverzeichnis verwendet wird:

    start "" "C:\Users\me\AppData\Roaming\Test\Test.exe" 
    
  2. Halten Sie die /D Option und geben Sie explizit das neue Arbeitsverzeichnis an, das verwendet werden soll:

    start "" /D "C:\Users\me\AppData\Roaming\Test" "Test.exe" 
    
Verwandte Themen