2

ディレクトリ名を持つファイル ( directories.txt) があり、それぞれが 1 行にあり、行を展開したい

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

私のスクリプトでは、スクリプトを実行している実際のユーザー名に。ただし、エコーはラインとまったく同じように出て、%USERNAME%拡大しません。

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

エコーには、C:\Documents and Settings\ janco \My Documentsではなく、「C:\Documents and Settings\%USERNAME%\My Documents」が表示されます。

何か案は?

4

1 に答える 1

2

変数置換を使用してこれを行うことができました:

SETLOCAL ENABLEDELAYEDEXPANSION

FOR /f "tokens=*" %%X IN (directories.txt) DO (
    SET DIR=%%X
    ECHO !DIR:%%USERNAME%%=%USERNAME%!
)
于 2009-08-27T09:37:53.203 に答える