Problem mit "username" abfrage in Batch Dateien
Hallo,
ich habe eine Batch-Datei erstellt in der ein Ordner auf dem Desktop erstellt werden soll. Der Batch soll auf unterschiedlichen Maschinen laufen und mit unterschiedlichen Usern, daher auch die %username% Abfrage.
Nun zum Problem, einer der User hat einen Namen mit Leerzeichen (Hans Wurst) bei der Abfrage und dem erstellen der Ordner ergibt sich dann da Problem, dass der Batch nach hans aufhort und somit natürlich nichts vernünftiges erstellt!
hier mein aktueller Code:
mkdir C:\Users\%username%\Desktop\%VAR1%-%cdate%
mkdir C:\Users\%username%\Desktop\%VAR1%-%cdate%\Parts
Danke für eure Hilfe
ich habe eine Batch-Datei erstellt in der ein Ordner auf dem Desktop erstellt werden soll. Der Batch soll auf unterschiedlichen Maschinen laufen und mit unterschiedlichen Usern, daher auch die %username% Abfrage.
Nun zum Problem, einer der User hat einen Namen mit Leerzeichen (Hans Wurst) bei der Abfrage und dem erstellen der Ordner ergibt sich dann da Problem, dass der Batch nach hans aufhort und somit natürlich nichts vernünftiges erstellt!
hier mein aktueller Code:
mkdir C:\Users\%username%\Desktop\%VAR1%-%cdate%
mkdir C:\Users\%username%\Desktop\%VAR1%-%cdate%\Parts
Danke für eure Hilfe
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 306534
Url: https://administrator.de/forum/problem-mit-username-abfrage-in-batch-dateien-306534.html
Ausgedruckt am: 14.04.2025 um 02:04 Uhr
5 Kommentare
Neuester Kommentar

Dafür gibt's "Anführungszeichen" ... und das "C:\Users\%username%" würde ich gleich durch %USERPROFILE% ersetzen.
Was das deine zwei Zeilen auf das hier reduziert:
Gruß sykbird
Was das deine zwei Zeilen auf das hier reduziert:
mkdir "%USERPROFILE%\Desktop\%VAR1%-%cdate%\Parts"

Weil du die Anführungszeichen an der falschen stelle setzt deswegen!
Bei dir landen sonst die Anführungszeichen mit in der Variablen und weiter unten machst du dann nochmal welche Drum deswegen funktioniert das nicht. Wenn du es wie oben setzt werden Leerzeichen berücksichtigt und es landen keine Anführungszeichen in der Variablen.
1
set "VAR999=%userprofile%\Desktop\%VAR1%-%cdate%"