2008-11-20 110 views
1

我有以下命令将循环遍历一个特定的位置和输出的完整路径的所有子目录:循环执行目录在Windows XP的命令提示符

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

能不能给我:

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

但我怎么都得到完整的路径,只是目录名,这样做的命令可能是这样的:

echo %i - %j 

而输出可能类似于:

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

在此先感谢!

回答

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 
+0

太棒了,谢谢!完美工作。 – 2008-11-20 19:29:10

0

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

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

另见这个问题:What does %~d0 mean in a Windows batch file?