我有一个包含大量用户文件夹和文件的文件夹,需要删除所有内容,但保留文件夹显示其所有名称。
文件夹结构是:
D:\ Users \ aanderson \ data \ stuff
D:\ Users \ acarlson \ data \ stuff
d:\ Users \用户banderson \数据\东西
我希望删除所有内容,但是:
D:\ Users \ aanderson \
D:\ Users \ acarlson \
d:\ Users \用户banderson \
我尝试了几个不同的脚本,但它几乎只是清空整个文件夹(当然使用测试文件夹)
答案 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