【问题标题】:Looping over directories in Windows XP command prompt在 Windows XP 命令提示符下循环目录
【发布时间】:2010-09-23 07:37:46
【问题描述】:

我有以下命令,它将遍历特定位置的所有子目录并输出完整路径:

for /d %i in ("E:\Test\*") do echo %i

会给我:

E:\Test\One
E:\Test\Two

但是如何获取完整路径和目录名称,所以 do 命令可能类似于:

echo %i - %j

输出可能是这样的:

E:\Test\One - One
E:\Test\Two - Two

提前致谢!

【问题讨论】:

    标签: windows command-line


    【解决方案1】:

    以下命令语法可用于仅返回完整路径或目录名称:

    %~fI        - expands %I to a fully qualified path name
    %~nI        - expands %I to a file name only
    

    使用您的示例,以下命令将以您指定的格式列出目录:

    for /d %i in ("E:\Test*") do echo %~fi - %~ni
    

    【讨论】:

      【解决方案2】:

      你可以使用“%~ni”。这是一个增强的替换,它将返回路径的文件名(或者更准确地说,最后一部分,在您的情况下是目录名):

      for /d %i in ("E:\Test\*") do echo %i - %~ni
      

      另请参阅此问题:What does %~d0 mean in a Windows batch file?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-18
        • 1970-01-01
        • 2023-03-24
        • 1970-01-01
        • 2022-01-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多