Wenn ich eine neue Windows-Shell-Sitzung starte und tippe:
env
Ich sehe viele Umgebungsvariablen gesetzt. Ich möchte die Ausführung eines Befehlszeilenprogramms debuggen, indem ich alle Umgebungsvariablen aus der aktuellen Shell-Sitzung entferne .
Ich könnte einen nach dem anderen mit folgendem Ansatz durchgehen:
SET FOO=
SET BAR=
SET ... ... ...
Gibt es jedoch eine einfache Möglichkeit, sie alle auf einmal zu löschen?
env
? Davon habe ich noch nie gehört, und hier funktioniert es nicht.Antworten:
Sie können dies in eine Batch-Datei schreiben:
Grundsätzlich werden alle Umgebungsvariablen durchlaufen, in einer Batch-Datei (
backupenv.bat
) gesichert und anschließend alle Variablen gelöscht. Um sie wiederherzustellen, können Sie diebackupenv.bat
Datei ausführen .quelle
Wenn Sie nur alle Umgebungsvariablen für die Batch-Datei löschen möchten, wird dies noch einfacher.
Die letzte Zeile gibt alle Umgebungsvariablen aus, die keine sein sollten, und bestätigt, dass der Code funktioniert hat.
Da
Setlocal
verwendet wird, gehen alle Umgebungsänderungen verloren, nachdem der Stapel beendet wurde. Wenn Sie alsoSet
nach dem Batch tippen , sehen Sie, dass alle Umgebungsvariablen noch vorhanden sind, sodass Sie sie nicht in einer Sicherungsdatei speichern müssen.quelle