vbs代码,纯自己采集,绝对良心!( 三 )







do
getchoice = InputBox ("请输入需要处置的事项:" & vbCr & choices)

if isnumeric(getchoice) then
exit do
else
msgbox "请输入数字"
If

Loop

getchoice = CInt(getchoice)

Select Case getchoice

Case 1: '搜刮空文件

getdrv = InputBox("请输入需要处置的盘符"& "格局如下: E:\","盘符","E")
getdrv = getdrv & ":\"
ext = InputBox("请输入需要搜刮的文件扩展名"& "好比:txt","扩展名","txt")

logfile = "C:\EmptyDelete.log"

set logbook = objfso.OpenTextFile(logfile, 8, true)

Call CheckDiskFile(getdrv,ext)

logbook.Close

WshShell.Popup "查抄完毕!" & vbCrLf & "(c) Zero 2014",5, "感谢利用",vbInformation+vbokOnly

Case 2: '搜刮空文件夹

getdrv = InputBox("请输入需要处置的盘符"& "格局如下: E","盘符","E")
getdrv = getdrv & ":\"
logfile = "C:\EmptyDelete.log"
set logbook = objfso.OpenTextFile(logfile, 8, true)

set drive = objfso.GetDrive(getdrv)

CheckFolder drive.RootFolder

logbook.Close

WshShell.Popup "查抄完毕!" & vbCrLf & "(c) Zero 2014",5, "感谢利用",vbInformation+vbokOnly



select




Else If confirm = vbno Then
MsgBox "您会回来的!" & vbCrLf & "(c) Zero 2014" , vbOKOnly+ vbError,"提醒"

WScript.Quit

If

If


'/// 本家儿程序部门竣事

'/// /////////////////////////////////////////////查抄空文件部门起头////////////////////////

Function CheckDiskFile(drv,ext)
extTemp = ext

On Error Resume Next
Dim fso
Set fso = WScript.CreateObject("Scripting.Filesystemobject")

Set drvRootFiles = fso.GetFolder(drv)

Set files = drvRootFiles.Files

For Each file In files

IsEmptyFile file,extTemp

Next

Set subfoldertemp = fso.GetFolder(drv)

Set subfolders = subfoldertemp.SubFolders

For Each subfolder In subfolders

CheckDiskFile subfolder,extTemp '递归

Next


Function

'/// 测试是否为空文件
Sub IsEmptyFile(file,ext)

On Error Resume Next

Set fso = CreateObject("Scripting.FileSystemObject")

extFile = fso.GetExtensionName(file)

If file.Size = 0 And extFile = ext Then

ReportEmpty file

If


Sub

'/// 写入日记文件
Function ReportEmpty(file)
On Error Resume Next

response = MsgBox("我们在" & vbCr & file.Path & "发现了空文件," &_
"您想删除吗?", vbYesNo + vbDefaultButton1,"提醒")

If vbyes = response Then

logbook.WriteLine vbCrLf
logbook.WriteLine "[文件:]"

logbook.WriteLine file.Path & vbCrlf & " 在 " & Now & " 被删除"
objfso.DeleteFile file, True


If

Function

'/// /////////////////////////////////////////////查抄空文件部门竣事////////////////////////


'/// /////////////////////////////////////////////查抄空文件夹部门起头//////////////////////

sub CheckFolder(folderobj)

on error resume Next

isEmptyFolder folderobj

for each subfolder in folderobj.subfolders

CheckFolder subfolder

Next

Sub

sub isEmptyFolder(folderobj)

推荐阅读