在Windows XP命令提示符下循环目录

时间:2008-11-20 19:07:15

标签: windows command-line

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

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

提前致谢!

2 个答案:

答案 0 :(得分:4)

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

%~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

答案 1 :(得分:0)

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

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

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