脚本使用例程CleanFolder遍历一个文件夹
1)使用CleanFolder递归遍历该文件夹下的所有子文件夹
2)如果该子文件夹的大小为0,则删除这个文件夹
3)遍历该文件夹下的所有文件,扩展名不是 *.h *.c *.cpp,则删除该文件
1 ‘脚本用途:遍历一个文件夹,执行下列操作 2 ‘1)如果一个文件不属于 *.c *.cpp *.h 类型则删除 3 ‘2)如果一个子文件夹中没有文件,则删除该文件夹 4 ‘输入参数:Argument(0) 被检查文件夹地址 5 6 Option Explicit 7 8 ‘检查输入参数是否合法 9 Dim FolderAddress 10 If WScript.Arguments.Count <> 1 Then 11 WScript.Echo "参数输入错误!请输入要遍历的文件夹地址。" 12 WScript.Quit 13 Else 14 FolderAddress = WScript.Arguments(0) 15 WScript.Echo "准备遍历文件夹:" & FolderAddress 16 End If 17 18 Dim FSO 19 Set FSO = CreateObject("Scripting.FileSystemObject") 20 21 ‘考察文件夹是否存在 22 If Not FSO.FolderExists(FolderAddress) Then 23 WScript.Echo "文件夹非法!请检查是否有拼写错误。" 24 WScript.Quit 25 End If 26 27 CleanFolder FolderAddress 28 29 ‘例程:递归删除一个文件夹内不符合规格的文件和文件夹 30 Sub CleanFolder(Folder) 31 32 WScript.Echo "开始遍历文件夹:" & FolderAddress 33 34 Dim SubFolder, File 35 ‘检查所有子文件夹 36 For Each SubFolder In FSO.GetFolder(Folder).SubFolders 37 WScript.Echo "发现文件夹:" & SubFolder 38 CleanFolder SubFolder 39 ‘如果文件夹为空,则删除该文件夹 40 If FSO.GetFolder(SubFolder).Size = 0 Then 41 WScript.Echo "删除空文件夹:" & SubFolder 42 FSO.DeleteFolder(SubFolder) 43 End If 44 Next 45 ‘删除所有文件 46 For Each File In FSO.GetFolder(Folder).Files 47 WScript.Echo "发现文件:" & File 48 ‘在这里指定要保留的文件扩展名,不属于该扩展名的文件将被删除 49 If UCase(FSO.GetExtensionName(File.Name)) <> "H" _ 50 And UCase(FSO.GetExtensionName(File.Name)) <> "C" _ 51 And UCase(FSO.GetExtensionName(File.Name)) <> "CPP" Then 52 WScript.Echo "删除文件:" & File 53 FSO.DeleteFile(File) 54 End If 55 Next 56 57 End Sub
调用本脚本,可以在命令行中输入下面的命令运行
1 cscript 脚本地址 待检查文件夹地址 //nologo
|
时间: 2024-10-09 01:38:45