Setzen Sie die Pfadvariable und führen Sie den Befehl aus

1

Ich versuche eine solche Aufgabe zu erledigen:

  • Setup Git in der Pfadumgebung
  • Laube laufen lassen

Ich möchte das als einzigen Befehl tun: cmd.exe /c "set PATH=%PATH%;c:\git && bower.cmd"

Leider klappt es nicht. Aus irgendeinem Grund ändert sich die Pfadvariable nicht.

Weiß jemand warum?

Sławomir Rosiek
quelle
"In einer Batch-Datei werden Variablen standardmäßig zeilenweise gelesen und erweitert. Wenn Sie mit & mehrere Befehle in einer einzelnen Zeile ausführen, werden Änderungen an Variablen erst sichtbar, wenn die Ausführung in die nächste Zeile wechselt." von ss64.com/nt/syntax-redirection.html
DavidPostill
Sie können entweder eine neue Batch-Datei mit den Befehlen in separaten Zeilen erstellen oder den Pfad in der bower.cmd
Datei festlegen
@DavidPostill In a batch file ... any variable changes will not be visible until execution moves to the next lineDas stimmt, soweit die% variable% -Erweiterung in der Batchdatei selbst enthalten ist. Aber die Befehle noch sequentiell mit sofortiger Wirkung ausgeführt, so dass jeder nachfolgende Befehl wird die gerade aktualisierte Variable sehen. Das ist am einfachsten zu überprüfen , ob mit einem nicht präexistent Umgebungsvariable zu testen, zum Beispiel set "aaa=zzz" && set aaaangezeigt wird aaa=zzzan der Eingabeaufforderung.
dxiv

Antworten:

3

Versuchen Sie stattdessen:

cmd.exe /c "set "PATH=%PATH%;c:\git" && bower.cmd"

Die Art und Weise, wie es ohne die zusätzlichen Anführungszeichen geschrieben set "PATH=%PATH%;c:\git"wurde, PATHwar C:\git+ ein Leerzeichen am Ende.

dxiv
quelle
Es sieht so aus, als wäre der Platz am Ende das Problem gewesen
Sławomir Rosiek,