我有一个简单的批处理脚本,它以递归方式查看目录中的所有文件和文件夹,并将文件清单写入文本文件。它目前看起来像这样:
dir /b/s > files.txt
该/b
方法不提供任何额外信息,并/s
使其在子文件夹内递归。示例输出为:
C:\Users\mark\Desktop\site\site\Web
C:\Users\mark\Desktop\site\site\Web\Themes
C:\Users\mark\Desktop\site\site\Web\Themes\Sitev2
C:\Users\mark\Desktop\site\site\Web\Themes\Sitev2\images
C:\Users\mark\Desktop\site\site\Web\Themes\Sitev2\style
C:\Users\mark\Desktop\site\site\Web\Themes\Sitev2\images\site
C:\Users\mark\Desktop\site\site\Web\Themes\Sitev2\images\site\beta.gif
C:\Users\mark\Desktop\site\site\Web\Themes\Sitev2\style\site.css
C:\Users\mark\Desktop\site\site\Web\Themes\Sitev2\style\ie7.css
我想要两件事:
- 仅列出此列表中的文件,而不是文件和文件夹
- 我希望路径与批处理脚本的调用位置相关
例如,我的文件夹中有脚本,C:\Users\mark\Desktop\site\site\
所以我不想看到该点。
这两件事可以做到吗?如果可以,有人可以帮忙吗?
答案1
dir /b /s /a-d
只会获取文件。我认为对于相对路径,您需要做的工作比简单的批处理文件要多,例如调用一些 vbscript 来 (1) 获取当前目录,(2) 打开文本文件,(3) 在文本文件上进行搜索和替换,以及 (4) 保存结果。