2017-05-24 1 views
-1

Ich habe einen Fehler beim Ausführen einer Batch-Datei festgestellt. Es geht so, ich test-setup.cmd laufen die test-env.cmdFehler beim Ausführen der Batch-Datei - war zu diesem Zeitpunkt unerwartet

test-setup.cmd ruft eine andere Batch-Datei, indem Sie diese Zeile ruft:

call %SCRIPT_HOME%\test-env.cmd 

wo SCRIPT_HOME eingerichtet ist, als SCRIPT_HOME=%~dp0

test-env.cmd hat diese Zeile:

if [%TEST_HOME%] == [] set TEST_HOME=D:\Program Files\Test\test-02.2.3.Final 

Nach dem Ausführen der test-setup.cmd erscheint eine Meldung wie folgt aus:

Files\Test\test-02.2.3.Final was unexpected at this time 

Bitte beachte, dass ich Setup die TEST_HOME in den Systemumgebungsvariablen.

Bitte helfen, danke.

+1

ich glaube, Sie 'D setzen müssen: \ Program Files \ Test \ test-02.2.3.Final' in doppelte Anführungszeichen, da es einen Raum darin – Andy

+0

danken hat Sie für Ihre Antwort, ich habe es versucht, aber es hat nicht funktioniert - TEST_HOME = "D: \ Programme \ Test \ test-02.2.3.Final" Ich habe auch versucht, die ganze Zeile mit Anführungszeichen zu umschließen, aber es gibt auch den gleichen Fehler zurück "TEST_HOME = D: \ Programme \ Test \ test-02.2.3.Final" – mrJDOE3

+1

Warum 'SCRIPT_HOME' auf'% ~ dp0 setzen '? _ (Welchen Vorteil gibt es bei der Eingabe von 13 Zeichen, um 5 zu ersetzen) _. Sie sagen, dass% TEST_HOME% in der Systemumgebung eingerichtet ist, das heißt, [% TEST_HOME%] 'ist nicht leer und daher kann der neue Pfad nicht als neuer Wert festgelegt werden. Mit den Informationen, die Sie zur Verfügung gestellt haben, wäre ich nicht sicher, dass die restlichen Skripte robust genug sind, um Ihnen Lösungen zu bieten. Bitte bearbeiten Sie Ihre Frage und fügen Sie den vollständigen Inhalt Ihrer beiden Batch-Dateien hinzu. – Compo

Antwort

0

Die Syntax Ihres Befehls if ist falsch. Es würde funktionieren, wenn %TEST_HOME% keine Leerzeichen enthalten haben, aber da es Sie tut Muss Verwendung doppelte Anführungszeichen:

if "%TEST_HOME%" == "" set TEST_HOME=D:\Program Files\Test\test-02.2.3.Final 

Wohlgemerkt, da Sie testen nur zu sehen, ob die Variable existiert, wäre es viel effizienter, dass direkt zu tun:

if not defined TEST_HOME set TEST_HOME=D:\Program Files\Test\test-02.2.3.Final 
Verwandte Themen