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?

War es hilfreich?

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
scroll top