主页 > 知识库 > 一个扩展时间段的dir命令的vbs脚本

一个扩展时间段的dir命令的vbs脚本

热门标签:呼叫中心市场需求 铁路电话系统 检查注册表项 服务器配置 银行业务 美图手机 智能手机 网站文章发布

核心代码

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)str11str12 
End Function 

这篇文章就介绍到这,希望大家以后多多支持脚本之家。

标签:新疆 沧州 河南 沈阳 长治 红河 乐山 上海

巨人网络通讯声明:本文标题《一个扩展时间段的dir命令的vbs脚本》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266