我需要知道如何使用VB脚本删除特定目录中的某些文件夹。 这是我的文件夹结构。
C:/WL
1.Dev
2.Local
3.Src123
4.Src456
5.Src789
我想删除除“Dev”之外的所有文件夹。有人可以帮忙吗。
我也使用了以下Vb代码,但没有用。
Dim wshell
Dim re : Set re = New RegExp
re.Pattern = "^src*"
re.IgnoreCase = True
With CreateObject("Scripting.FileSystemObject")
With .GetFolder("C:\WL")
For Each Folder In .SubFolders
If Folder.Name <> "dev" Then
wscript.Echo Folder.Name
'Wscript.Echo "Should delete the folders"
set wshShell = WScript.CreateObject("WSCript.shell")
wshShell.Run "cmd.exe /D C:\ & RMDIR /S /Q & Folder.Name"
If re.Test(Folder.Name) Then Call Folder.Delete(True)
Next
End With
End With
答案 0 :(得分:1)
1 - 更正代码的If / End If
结构
2 - 您正在运行的cmd命令不起作用。它应该是
wshShell.Run "cmd.exe /c rmdir /s /q """ + folder.Path + """"
3 - 为什么使用cmd命令?
For Each f In CreateObject("Scripting.FileSystemObject").GetFolder("c:\WL").SubFolders
If LCase(f.Name) <> "dev" Then
f.Delete
End If
Next