dos下遍历目录和文件的代码(主要利用for命令)
作者 佚名
来源 批处理
浏览
发布时间 2013-07-09
===== 文件夹结构 ============================================= D:\test ---A Folder 1 |-----A file 1.txt |-----A file 2.txt |-----A file 3.txt ---B Folder 2 |-----B file 1.txt |-----B file 2.txt |-----B file 3.txt |---B Folder 3 |-----B sub file 1.txt |-----B sub file 2.txt |-----B sub file 3.txt 复制代码 代码如下: @echo off set work_path=D:\test D: cd %work_path% for /R %%s in (.,*) do ( echo %%s ) pause 结果 D:\test\. D:\test\A Folder 1\. D:\test\A Folder 1\A file 1.txt D:\test\A Folder 1\A file 2.txt D:\test\A Folder 1\A file 3.txt D:\test\B Folder 2\. D:\test\B Folder 2\B file 1.txt D:\test\B Folder 2\B file 2.txt D:\test\B Folder 2\B file 3.txt D:\test\B Folder 2\B Folder 3\. D:\test\B Folder 2\B Folder 3\B sub file 1.txt D:\test\B Folder 2\B Folder 3\B sub file 2.txt D:\test\B Folder 2\B Folder 3\B sub file 3.txt 复制代码 代码如下: @echo off set work_path=D:\test D: cd %work_path% for /R %%s in (.) do ( echo %%s ) pause 结果 D:\test\. D:\test\A Folder 1\. D:\test\A Folder 1\A file 1.txt D:\test\A Folder 1\A file 2.txt D:\test\A Folder 1\A file 3.txt D:\test\B Folder 2\. D:\test\B Folder 2\B file 1.txt D:\test\B Folder 2\B file 2.txt D:\test\B Folder 2\B file 3.txt D:\test\B Folder 2\B Folder 3\. D:\test\B Folder 2\B Folder 3\B sub file 1.txt D:\test\B Folder 2\B Folder 3\B sub file 2.txt D:\test\B Folder 2\B Folder 3\B sub file 3.txt 那么 复制代码 代码如下: for /R %%s in (.,*) do ( echo %%s ) 和 复制代码 代码如下: for /R %%s in (.) do ( echo %%s ) 的区别是什么呢? 在有cd %work_path% 的时候,这两个命令执行的结果是一样的,就像我们上面举的例子。但是 for /R %%s in (.,*) do ( echo %%s ) 的批处理中没有cd %work_path% ,那么显示的将是这个批处理文件所在文件夹下面的遍历结果。 复制代码 代码如下: @echo off for /R "D:\test" %%s in (.) do ( echo %%s ) pause 结果 D:\test\. D:\test\A Folder 1\. D:\test\B Folder 2\. D:\test\B Folder 2\B Folder 3\. 复制代码 代码如下: @echo off for /R "D:\test" %%s in (.,*) do ( echo %%s ) pause 结果 D:\test\. D:\test\A Folder 1\. D:\test\A Folder 1\A file 1.txt D:\test\A Folder 1\A file 2.txt D:\test\A Folder 1\A file 3.txt D:\test\B Folder 2\. D:\test\B Folder 2\B file 1.txt D:\test\B Folder 2\B file 2.txt D:\test\B Folder 2\B file 3.txt D:\test\B Folder 2\B Folder 3\. D:\test\B Folder 2\B Folder 3\B sub file 1.txt D:\test\B Folder 2\B Folder 3\B sub file 2.txt D:\test\B Folder 2\B Folder 3\B sub file 3.txt 这样的话看出来区别了吧。 再看一个================================= 复制代码 代码如下: @echo off for /R "D:\test" %%s in (*) do ( echo %%s ) pause 结果 D:\test\A Folder 1\A file 1.txt D:\test\A Folder 1\A file 2.txt D:\test\A Folder 1\A file 3.txt D:\test\B Folder 2\B file 1.txt D:\test\B Folder 2\B file 2.txt D:\test\B Folder 2\B file 3.txt D:\test\B Folder 2\B Folder 3\B sub file 1.txt D:\test\B Folder 2\B Folder 3\B sub fil |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 通过批处理调用SQL的方法(osql)下一篇: 在CMD下读取服务器终端的端口的代码
关于dos下遍历目录和文件的代码(主要利用for命令)的所有评论