如何在某些目录中以Windows XP递归方式删除文件


0

我有很多目录。假设dir1,dir2,dir3和每个目录都有一个名为tempdir的子目录。

我想删除tempdir中从dir1到dir3的所有文件,而无需手动转到每个目录。无论TEMPDIR本身被删除与否是没有问题的。

Answers:


5

尝试 del /S directory

cd进入上面的目录,并执行它。


您可能希望添加/p开关。这将在每次删除前提示您。如果命令看起来删除的次数超出了您的要求,可能会保存。
强麦

这可能是个好主意,是的。
Phoshi 2010年

我添加了/q开关,因此它不会提示;)
JefClaes 2013年


0

这可能不适合所有人,但我喜欢它,先了解一些事情。
1)我喜欢并使用命令行的东西,因为创建批处理文件来执行冗余任务比我更好。
2)我总是使用移植到windows的标准gnu linux命令扩展我的命令行功能。它们可以在http://sourceforge.net/projects/unxutils/找到。我只是从ZIP文件中获取我感兴趣的exe文件(它们位于ZIP的/ usr / local / wbin目录中)并将它们放在我路径中的某个目录中。因为我经常使用它们,所以我实际上将它们全部放在/ unix目录中并将它放在路径中。
3)对于此任务,特别需要的实用程序是find和rm。如果与find命令和Windows查找发生冲突,只需使用命令中的完整路径即可。

要专注于删除tempdir目录,假设dir1 dir2 dir3中可能有其他文件或目录,我会执行以下操作。

转到dir1 dir2 dir3的父目录并运行

find . -name tempdir -type d -depth -ok rm -rf {} ;

意思如下

find .          - Start in this directory and find something for me.
-name temdir    - The name of what we are looking for.
-type d         - Look for directories (named as above).
-depth          - Look down the tree first so if you remove something it won't complain.
-ok rm -rf {} ; - The real power ok just means to ask before doing anything, 

如果确定是替换为exec然后它将只是它。所以在所有匹配的“找到的条目”上执行以下rm -rf,或者换句话说,删除递归强制删除所有名为temdir的目录

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.