2

我有一个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 \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 回答