vbscript管理磁盘文档目录

  1. 目的:通过vbscript生成磁盘目录和文档的清单,写入到excel中保存
  2. 途径: 通过wscript的Excel.Application对象和Scripting.FileSystemObject对象
  3. 函数:
    a. writexls写入excel内容
    b. listfiles遍历所有文件
    c. listsubdir列出所有的子目录并且遍历迭代
  4. 注意事项:
    a. 获取当前目录:createobject(“Scripting.FileSystemObject”).GetFolder(“.”).Path
    b.注意释放内存
    代码路径:https://github.com/clark99/Program_differ/tree/master/vb_list_ftpfiles
dim xlsApp
dim xlsWorkBook
dim xlsSheet

dim fileapp
dim folderdir
dim folderobject
dim subfolderobject
dim filename
dim subdirpath

dim i
dim clumns
dim rows

clumns=1
rows=1
'wscriptExcel 对象
Set xlsApp = CreateObject("Excel.Application")
xlsApp.Visible = True
xlsApp.DisplayAlerts=False
'msgbox xlsApp.DisplayStatusBar
'createobject("Scripting.FileSystemObject").GetFolder(".").Path
scriptpath = createobject("Scripting.FileSystemObject").GetFile(Wscript.ScriptFullName).ParentFolder.Path
filename=scriptpath&"\filelist.xlsx"
set xlsWorkBook=xlsApp.Workbooks.open(filename)
set xlsSheet=xlsWorkBook.sheets(1)
xlsSheet.Activate


'wscript 文件系统对象
Set fileapp=CreateObject("Scripting.FileSystemObject")
folderdir=InputBox("input the dirpath for list,for example E:", MsgTitle)
'folderdir="E:"


Public Sub writexls(rows,clumns,value)
    xlsSheet.Cells(rows,clumns).value=value
    xlsWorkBook.Save
End Sub


Public Sub listfiles(folderdir)
    'folder对象,Subfolder对象
    clumns=coumns+1
    Set folderobject=fileapp.GetFolder(folderdir)
    '当前目录的文档
    for each i in folderobject.files
        rows=rows+1
        call writexls(rows,clumns,folderdir)
        call writexls(rows,clumns+1,i.name)
        On Error Resume Next
    next '结束遍历所有excel文件
End Sub

Public Sub listsubdir(folderdir)
    call listfiles(folderdir)
    Set folderobject=fileapp.GetFolder(folderdir)
    Set subfolderobject=folderobject.SubFolders 
    '子目录处理
    for each subdirpath in subfolderobject
        call listsubdir(subdirpath)
        On Error Resume Next
    next '结束遍历所有子目录
End Sub

Call listsubdir(folderdir)

xlsWorkBook.Close
xlsApp.Quit

Set xlsSheet=Nothing '释放内存
Set xlscon=Nothing '释放内存
Set xlsWorkBook = Nothing '释放内存
Set xlsApp = Nothing  '释放Excel对象
Set subfolderobject=Nothing '释放内存
Set folderobject=Nothing '释放内存
Set fileapp=Nothing '释放内存

支持原创
微信公众号:clark_blog
博客:blog.csdn.net/clark_xu
代码:https://github.com/clark99

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值