Ich benötige eine Systemvariable und weise ihr einen leeren String zu. Ich habe versucht,Leere Systemvariable mit setx zuweisen
setx samplepassword ""
Aber auf echo %samplepassword%
, was eine leere Zeichenfolge ist %samplepassword%
stattdessen sein sollte. Nun fand ich dies in der Dokumentation
Einstellwert von „“ (leeren Anführungszeichen) erscheinen die Variable zu löschen - es ist nicht durch SET gezeigt, aber der Variablenname wird in der Registrierung bleiben.
Wie kann ich eine leere Systemvariable mit setx zuweisen?
Update: Ich habe die Umgebungsvariablen über den Windows-GUI geprüft: Control Panel | System | Advanced | Environment Variables
und sah, dass die DB_PASSWORD
in der Tat mit einem leeren String Wert initialisiert wurde. Aber warum gibt echo %samplepassword%
mir die obige Ausgabe? Ich habe eine neue Instanz von cmd geöffnet, um genau zu sein.
Scheint richtig für mich. Ich bezweifle, dass Ihre Datenbank-Passwort-Variable wirklich leer ist. Wahrscheinlich verwendet es ein Zeichen, das nicht angezeigt werden kann. – Squashman
Ich probierte tatsächlich 'setx samplepassword \" 'dann' echo% samplepassword% 'zeigte mir' \ '. Ich habe dann 'setx samplepassword '" 'getestet, um zu sehen, ob das gleiche Systemverhalten auftritt, und das tat es. – Eduard
Ich denke, Sie haben hier ein Missverständnis. Es gibt keine Möglichkeit, einer Umgebungsvariable (Batch) eine "leere Zeichenfolge" zuzuweisen.Der Befehl 'set 'samplepassword =" '_deletet_ die Variable, also' echo "% samplepassword%" 'zeige einfach" "an. Sie brauchen dazu weder 'setx', noch' setx' kann dieses Verhalten ändern. – Aacini