【问题标题】:Batch file FOR/f expansion批处理文件 FOR/f 扩展
【发布时间】:2009-08-27 08:37:03
【问题描述】:

我有一个包含目录名的文件 (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

有什么想法吗?

【问题讨论】:

    标签: batch-file for-loop variable-expansion


    【解决方案1】:

    我已经设法使用变量替换来做到这一点:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-21
      • 1970-01-01
      • 1970-01-01
      • 2011-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-09
      相关资源
      最近更新 更多