VB脚本删除文件夹中的子文件夹和文件

时间:2014-09-10 17:17:49

标签: vbscript

我有一个包含大量用户文件夹和文件的文件夹,需要删除所有内容,但保留文件夹显示其所有名称。

文件夹结构是:

D:\ Users \ aanderson \ data \ stuff
D:\ Users \ acarlson \ data \ stuff
d:\ Users \用户banderson \数据\东西

我希望删除所有内容,但是:

D:\ Users \ aanderson \
D:\ Users \ acarlson \
d:\ Users \用户banderson \

我尝试了几个不同的脚本,但它几乎只是清空整个文件夹(当然使用测试文件夹)

1 个答案:

答案 0 :(得分:0)

从命令行开始,最简单的方法是

for /d %a in ("d:\users\*") do (pushd "%~fa" && (rmdir . /s /q 2>nul & popd))

也就是说,对于每个子文件夹,请在其中放置一个锁以避免将其移除。在这种情况下,锁定为pushd,因为您无法删除当前工作文件夹。

所以,在vbscript中做同样的事情

Option Explicit

Dim shell, fso
    Set shell = WScript.CreateObject("WScript.Shell")
    Set fso   = WScript.CreateObject("Scripting.FileSystemObject")

Dim folder
    For Each folder In fso.GetFolder("d:\users").SubFolders
        shell.CurrentDirectory = folder.Path
        On Error Resume Next : folder.Delete True : On Error Goto 0
    Next