返回列表 发帖

一个扩展Dir命令的Vbs脚本

一个扩展Dir命令的Vbs脚本
一个扩展Dir命令的Vbs脚本  


‘CMD下的dir好像没法列出从某段时间到某段时间的文件,所以写了这个小东东  

set Arg=Wscript.Arguments  
If Arg.Count=0 then  
Wscript.echo chr(9)&chr(9)&space(4)&”Xdir v0.1″  
Wscript.echo “”  
Wscript.echo chr(9)&”cscript dir.vbs path time1 time2 ext”  
Wscript.echo chr(9)&”cscript dir.vbs d:\test 20080101 20080430 doc”  
Wscript.Quit  
End If  
Path=Arg(0)  
Time1=Arg(1)  
Time2=Arg(2)  
Ext=Arg(3)  
FileTotal = 0  

DirTotal = 0  
FileTotalsize=0  
TimeSpend = Timer  
myFind Path  
TimeSpend = round(Timer - TimeSpend,2)  
txtResult = “完成!” & vbCrLf & “共找到文件:” & FileTotal & “个.” & vbCrLf & “共目录:” & DirTotal & “个.” &vbcrlf&”文件总数大小”&FormatNumber(FileTotalsize/1024,0)&”kB”& vbCrLf & “用时:” & TimeSpend & “秒.”  

wscript.echo txtResult  

Sub myFind(ByVal thePath)  

Dim fso, myFolder, myFile, curFolder  
Set fso = wscript.CreateObject(”scripting.filesystemobject”)  
Set curFolders = fso.getfolder(thePath)  
DirTotal = DirTotal + 1  
If curFolders.Files.Count > 0 Then  
For Each myFile In curFolders.Files  
If InStr(1, LCase(Fso.GetExtensionName(myFile.Name)), ext) > 0 And Gtime(myFile.DateCreated) >Time1 And Gtime(myFile.DateCreated)<Time2 Then  
wscript.echo FormatPath(thePath) & “\” & myFile.Name  
FileTotal = FileTotal + 1  
FileTotalsize = FileTotalsize + myFile.size  
End If  
Next  
End If  

If curFolders.subfolders.Count > 0 Then  
For Each myFolder In curFolders.subfolders  
myFind FormatPath(thePath) & “\” & myFolder.Name  
Next  
End If  

End Sub  

Function FormatPath(ByVal thePath)  

thePath = Trim(thePath)  
FormatPath = thePath  
If Right(thePath, 1) = “\” Then FormatPath = Mid(thePath, 1, Len(thePath) - 1)  

End Function  

Function Gtime(str)  
str=FormatDateTime(str,2)  
str1=Split(str,”-”,-1,1)  
If len(str1(1))=1 then str11=”0″&str1(1)  
If len(str1(2))=1 then str12=”0″&str1(2)  
Gtime=str1(0)&str11&str12  
End Function

返回列表