Пакетный файл для расширения / f - PullRequest
2 голосов
/ 27 августа 2009

У меня есть файл (directories.txt) с именами каталогов, каждое в одной строке, и мне нравится расширять строку

C:\Documents and Settings\%USERNAME%\My Documents

В моем скрипте к реальному имени пользователя запускается скрипт. Однако эхо выходит точно так же, как линия, и %USERNAME% не расширяется.

FOR /f "tokens=*" %%X IN (directories.txt) DO (
    ECHO %%X
)

Эхо показывает "C: \ Documents and Settings \% USERNAME% \ My Documents" вместо C: \ Documents and Settings \ janco \ Мои документы

Есть идеи?

1 Ответ

2 голосов
/ 27 августа 2009

Мне удалось сделать это с помощью подстановки переменных:

SETLOCAL ENABLEDELAYEDEXPANSION

FOR /f "tokens=*" %%X IN (directories.txt) DO (
    SET DIR=%%X
    ECHO !DIR:%%USERNAME%%=%USERNAME%!
)
...