请帮我处理我的批处理脚本

时间:2011-09-07 21:20:45

标签: batch-file dos

我写了一个非常简单的批处理脚本来列出“frame”文件夹下的所有xml文件。

基本上,我有一个“frame”文件夹,它包含七个子文件夹,在这七个子文件夹的每一个下面,都有一些xml文件。但是“frame”本身下没有直接的xml文件。

所以我的批处理脚本旨在“递归地”遍历框架文件夹,列出所有“.xml”文件。

我的脚本如下:

FOR /r %%c in ("C:\Documents and Settings\Robert\Desktop\BHI_P\frame\"*.xml*) DO echo %%c

它不起作用,但是如果我取出/ r并在“frame \”之后附加了子文件夹,它将列出该特定子文件夹下的xml文件。

任何人都可以帮助我并给我一些解释吗?感谢。

2 个答案:

答案 0 :(得分:2)

怎么样

For /R "C:\Documents and Settings\Robert\Desktop\BHI_P\frameframe\"  %%i in (*.xml) DO echo %%i

测试

C:\tmp\so>mkdir robert
C:\tmp\so>cd robert
C:\tmp\so\robert>mkdir frame\a\b\c\d\e\f
C:\tmp\so\robert>mkdir frame\a\b\c\d\e\f1
C:\tmp\so\robert>mkdir frame\a\b\c\d\e\f2
C:\tmp\so\robert>mkdir frame\a\b\c\d\e\ff3
C:\tmp\so\robert>echo > frame\a\a.xml
C:\tmp\so\robert>echo > frame\a\a1.xml
C:\tmp\so\robert>echo > frame\a\b\b.xml
C:\tmp\so\robert>echo > frame\a\b\c\c.xml
C:\tmp\so\robert>echo > frame\a\b\c\d\d.xml
C:\tmp\so\robert>echo > frame\a\b\c\d\e\e.xml
C:\tmp\so\robert>echo > frame\a\b\c\d\e\f\f.xml
C:\tmp\so\robert>echo > frame\a\b\c\d\e\f1\f1.xml
C:\tmp\so\robert>echo > frame\a\b\c\d\e\f2\f2.xml
C:\tmp\so\robert>echo > frame\a\b\c\d\e\ff3\ff3.xml

输出

C:\tmp\so\robert>robert.bat
C:\tmp\so\Robert\frame\a\a.xml
C:\tmp\so\Robert\frame\a\a1.xml
C:\tmp\so\Robert\frame\a\b\b.xml
C:\tmp\so\Robert\frame\a\b\c\c.xml
C:\tmp\so\Robert\frame\a\b\c\d\d.xml
C:\tmp\so\Robert\frame\a\b\c\d\e\e.xml
C:\tmp\so\Robert\frame\a\b\c\d\e\f\f.xml
C:\tmp\so\Robert\frame\a\b\c\d\e\f1\f1.xml
C:\tmp\so\Robert\frame\a\b\c\d\e\f2\f2.xml
C:\tmp\so\Robert\frame\a\b\c\d\e\ff3\ff3.xml

答案 1 :(得分:1)

您是否尝试过以下操作?

dir /s /b "C:\Documents and Settings\Robert\Desktop\BHI_P\frame\*.xml"