使用Batch或VBS文件回收文件夹的CONTENTS,但不回收文件夹本身

时间:2015-02-14 00:05:46

标签: batch-file vbscript recycle

标题几乎说明了一切。我的目标是创建一种可以通过双击(例如批处理)执行的文件,其中我指定(在文件中)文件夹的路径,不需要将其发送到回收站,但是将其内容发送到回收站。看,我正在为Rainmeter皮肤做这个。我有很多由Adobe创建的临时文件和文件夹,我可以控制它们的位置。但是,可能会有相当多的内容叠加在我告诉他们所在的文件夹中,所以我需要找到一些方法来创建一个文件来回收指定文件夹中的所有文件和文件夹(但不回收或删除指定的文件夹)。这样,指定的文件夹仍然存在,这样我就不必创建新文件夹并强制Premiere Pro重定位到新文件夹(在我删除包含需要删除的文件的文件夹的实例中,我我每次使用这个脚本时都已经想出了怎么做。

我尝试了一个名为“Recycle.exe”的实用程序,但我只能弄清楚如何让它回收指定的文件夹而不是回收其内容。例如,当我在批处理文件中尝试以下操作时(使用以下实用程序时:http://www.maddogsw.com/cmdutils/):

@echo off
Recycle D:\TestFolder
pause

这会将名为“TestFolder”的文件夹发送到回收站,以及其内容(如果你只是正常地将它们发送到回收站的方式相同)。我的目标是保持指定文件夹的完整性,仍然存在,但具有所有内容,不会被删除,而是发送到回收站。我尝试过很多东西,但都没有成功。我并不真正关心如何实现这一目标,但最终产品必须生成一个可以双击的文件,并将指定文件夹的内容发送到回收站。 VBS和Batch文件只是示例,但我确信可能还有其他方法可以做到这一点。我真的需要你的帮助,因为我非常接近这一点。

(另外,请不要问我为什么要将它发送到回收站而不是删除它,我只是为了安全起见,以防我确定需要恢复媒体缓存/预览文件请记住,将文件夹的内容发送到回收站而不是删除它是一个非常重要的功能,但我希望用此完成。)

1 个答案:

答案 0 :(得分:2)

由于您可以指定文件并拥有预定的文件夹,您可以使用for循环来遍历目录中的文件列表。

pushd D:\TestFolder
for /F %%A in ('dir /b') do Recycle %%A
popd

您可能首先要说echo Recycle %%A,以确保它能抓住您想要的一切。

recycle.exe的文档声称你可以使用通配符,所以理论上 你可以简单地说recycle D:\TestFolder\*.*而不是使用for循环。