需要批处理脚本目录列表中的相对path

我有一个简单的批处理脚本recursion查看目录中的所有文件和文件夹,并将文件清单写出到文本文件。 它目前看起来像这样:

dir /b/s > files.txt 

/b表示不提供任何额外的信息和/s使其在子文件夹内recursion。 示例输出是:

 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 

我想要两件事情:

  1. 只列出此列表中的文件而不是文件和文件夹
  2. 我希望path与批处理脚本的调用位置相对

例如,我在C:\Users\mark\Desktop\site\site\文件夹中有脚本,所以我不想看到这一点。

有没有可能做这两件事,如果是的话,任何人都可以帮助吗?

dir /b /s /ad只会得到你的文件。 我认为对于相对path,你将需要做一些更多的工作,而不仅仅是一个简单的batch file,例如调用一些vbscript(1)获取当前目录,(2)打开文本文件,(3)做一个search并replace文本文件,(4)将结果保存回来。

您可以抓住unxutils套件,将find.exe放在您的起始目录中,然后用类似下面的方法启动它:

 ./find.exe . -type f > result.txt 

只是我的2cts。