Ich möchte eine Batchdatei erstellen, um schnell eine PATH-Variable zu wechseln, damit ich in einer anderen Umgebung arbeiten kann, und dann eine andere, um sie wiederherzustellen. Ich gehe davon aus, dass dies über setx
eine Art Suchen und Ersetzen erfolgen würde, aber ich weiß nichts über Batchdateien.
Antwort1
Dies ist zwar keine direkte Antwort auf Ihre Frage, löst aber Ihr Problem und aus diesem Grund ist es meiner Meinung nach eher eine Antwort als ein Kommentar wert.
Die Umgebungsvariable PATH kann mehrere Pfade speichern. Die Reihenfolge der zu durchsuchenden Pfade ist von links nach rechts. Das bedeutet effektiv, dass, wenn Sie einen Pfad am Anfang der Umgebungsvariable PATH hinzufügen, dieser zuerst durchsucht wird.
Dadurch entfällt die Notwendigkeit, einen vorhandenen Pfad zu ersetzen, es sei denn, Sie müssen sicherstellen, dass der andere Pfad entfernt wird, was mit dieser Lösung nicht möglich ist.
Um einen Ordner am Anfang der PATH-Umgebung hinzuzufügen, verwenden Sie den folgenden Code:
set PATH=c:\myfolder;%PATH%
Das ;%PATH% muss vorhanden sein, sonst löschen Sie den festgelegten Pfad und ersetzen ihn vollständig durch Ihren eigenen Ordner.
Wenn der Befehl set verwendet wurde, wird hiermit nur der Pfad für Ihre aktuelle Sitzung gespeichert. Um den Pfad in die Windows-Umgebung zu übertragen, sodass er für jede Sitzung gespeichert wird, müssen Sie den folgenden Befehl ausführen:
setx PATH "%PATH%"
Wenn Sie es später zur Wiederherstellung verwenden möchten, empfehle ich Ihnen, zwei Batchdateien zu erstellen, um das zu starten, wofür Sie den anderen Pfad verwenden möchten. Bei der Datei mit dem alternativen Pfad beginnen Sie mit dem Befehl „SET“, bei der Datei mit dem echten Pfad hingegen nicht.
Auf diese Weise wird bei jedem Ausführen der Batchdatei für den alternativen Pfad dieser Pfad hinzugefügt und zuerst gesucht, sodass dieser gefunden wird.
Schließlich ist es möglich, PATH basierend auf anderen Umgebungsvariablen festzulegen, was Ihnen das Wechseln ermöglicht.
Zuerst müssen Sie zwei Kopien des ursprünglichen Pfads erstellen:
setx PATH_orig "%PATH%"
setx PATH_alt "%PATH%"
Bearbeiten Sie nun PATH_alt wie gewohnt.
Nun können Sie ganz einfach mit den folgenden Befehlen wechseln:
:: Restore to original
setx PATH "PATH_orig"
:: Set alternate path
setx PATH "PATH_alt"