Nehmen wir an, ich führe Folgendes in der CMD-Shell aus:
set FOO=bar
Gibt es eine andere Möglichkeit, diese Variable aufzuheben, als die CMD-Shell zu recyceln?
windows
batch-file
cmd
user288004
quelle
quelle
cmd.exe
)?set var=
funktioniert Ihre Antwort unter MS-DOS 6.22 command.com genauso wie unter Windows cmd.exe. (Im Gegensatz zu Windows funktioniert das Setzen von doppelten Anführungszeichen um var = jedoch nicht. Stattdessen wird eine Umgebungsvariable erstellt, deren Name mit einem doppelten Anführungszeichen beginnt.)Antworten:
Ja, Sie können es mit deaktivieren
Oder explizit verwenden:
Stellen Sie sicher, dass keine nachfolgenden (unsichtbaren) Zeichen hinter dem
=
Zeichen stehen. Das ist:set FOO=
ist anders alsset FOO=
.quelle
Eine sichere Möglichkeit, die Variable zu deaktivieren, besteht darin, auch Anführungszeichen zu verwenden. Dann gibt es keine Probleme mit nachgestellten Leerzeichen.
quelle
eine andere Methode
Hinweis: Dies würde an einer interaktiven Eingabeaufforderung nicht funktionieren. Funktioniert aber im Batch-Skript.
quelle
Dies funktioniert für mich in meiner Windows 7 CMD-Shell:
quelle
set
Befehl von Bedeutung. Wenn Sie es versuchenset FOO = bar
und dann versuchenset FOO=
, wird 'FOO' nicht deaktiviert. Aus irgendeinem Grund sind sie jedoch im Inneren nicht (als?) Bedeutend% %
.Ich würde das Folgende nur als Kommentar anbieten, aber ich denke, es ist wichtig genug, um für sich allein zu stehen.
In vielen der vorherigen Antworten wurde erwähnt, dass man sich vor Leerzeichen hüten muss. und sicher ist das wahr. Ich habe jedoch festgestellt, dass nachfolgende Leerzeichen manchmal nur dort hineingelangen möchten, egal was passiert - insbesondere, wenn Sie einen Befehlszeilen-Einzeiler ausführen und das Leerzeichen als Befehlstrennzeichen benötigen.
Dies ist die Lösung für dieses Problem:
Wenn Sie die Deklaration auf diese Weise in doppelte Anführungszeichen setzen, kann das Abstandsproblem vollständig vermieden werden. Dies kann auch sehr nützlich sein, wenn Variablen durch Verketten erstellt werden, um Leerzeichen zwischen beispielsweise Pfaden zu entfernen, z.
quelle