访问bat-File中的第二级子文件夹

时间:2014-11-25 23:06:04

标签: batch-file navigation

我已经看过这个网站和其他人的答案,但我找不到,所以这是我的简单问题。我有一个DVD,里面有几个文件夹(以各自的年份命名)。其中每个都有子文件夹,然后再次有子文件夹。所以它基本上是这样的:

2001/Projectabc/sub1
               /sub2
               /sub3
2002/Projectdef/sub1
               /sub2

..等等。

我现在需要一个批处理文件,它将所有项目名称列入其中而没有任何其他内容,并将它们写入文本文件中,这样最终我会看到这样的文本:

Projectabc
Projectdef

所以基本上我不知道如何编写批处理,以便它只列出第二级Foldernames。

我是这样开始的:

dir [Directory of dvd]:\..\ /b /a:d >> C:\folderlist.txt,将其保存为bat文件,执行它,打开我的folderlist.txt并拥有

_01.2003
_01.2004
_01.2005
_01.2008
_01.2009
_01.2010
_01.2011
_01.2013
_01.2014

我真的被卡住了,因为我是新手。非常感谢所有可能提供帮助的人。

1 个答案:

答案 0 :(得分:0)

让我们假设您的DVD在驱动器G:中(更改代码以适合您的方案)

以下一个衬垫将在命令行中起作用:

>c:\folderlist.txt (for /d %A in (g:\*) do @for /d %B in ("%A\*") do @echo %~nxB)

或使用批处理文件:

@echo off
>c:\folderlist.txt (
  for /d %%A in (g:\*) do (
    for /d %%B in ("%%A\*") do echo %%~nxB
  )
)

在我的机器上,我无法写入系统根目录,因此我必须更改输出的目标文件夹。