Batch-Datei FOR / f Expansion
-
20-09-2019 - |
Frage
Ich habe eine Datei (directories.txt
) mit Verzeichnisnamen, die jeweils auf einer einzigen Zeile und Ich mag die Linie erweitern
C:\Documents and Settings\%USERNAME%\My Documents
In meinem Skript zum realen Benutzernamen das Skript ausgeführt wird. Doch das Echo kommt genau das gleiche wie die Linie und %USERNAME%
nicht erweitern.
FOR /f "tokens=*" %%X IN (directories.txt) DO (
ECHO %%X
)
Das Echo zeigt "C: \ Dokumente und Einstellungen \% username% \ Eigene Dateien" anstelle von C: \ Dokumente und Einstellungen \ Janco \ Eigene Dateien
Irgendwelche Ideen?
Lösung
Ich habe es geschafft, dies mit Variablensubstitution zu tun:
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /f "tokens=*" %%X IN (directories.txt) DO (
SET DIR=%%X
ECHO !DIR:%%USERNAME%%=%USERNAME%!
)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow