vbs 列出该目录下所有文件和文件夹的类型,大小,和所有者
作者 佚名
来源 ASP编程
浏览
发布时间 2013-07-09
GetOwner.VBS用法,在命令行下:GetOwner.vbs 目录名会在相应目录下生成一个TXT.TXT文件,内里列出该目录下所有文件和文件夹的类型,大小,和所有者 注意:大小以MB为单位,小于1MB的就显示为0MB, 以下是代码: G = WScript.arguments(0) Set oFSO = CreateObject("Scripting.FileSystemObject") set txt = oFSO.CreateTextFile(G&"TXT.txt",true) ''嘿嘿,如果这个目录下刚好有一个TXT.txt文件,那就算你倒霉, 不会有人真用这种名字来做文件名吧?真的啊,真的有啊?那你 换地方吧~~~C: \TXT.TXT应该不会有了吧? set objWMI = GetObject("winmgmts:") Set oFiles = objWMI.ExecQuery("ASSOCIATORS OF {Win32_Directory.Name=''"&G&"''}" & "where ResultClass = CIM_logicalfile") For Each oFile In oFiles txt.WriteLine( "--------------------------------------------------------------") txt.WriteLine( oFile.name) txt.WriteLine( "Type: " & oFile.FileType) if oFile.name = G&"system volume information" then exit for end if if oFile.FileType="File Folder" then Set objFolder = oFSO.GetFolder(oFile.name) txt.WriteLine("Size: " & Cint(objFolder.Size/1024/1024) &"MB") else txt.WriteLine( "Size: " & cint(oFile.FileSize/1024/1024) &"MB") end if strFile = oFile.name strComputer = "." Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery ("ASSOCIATORS OF {Win32_LogicalFileSecuritySetting=''" & strFile & "''}" & " WHERE AssocClass=Win32_LogicalFileOwner ResultRole=Owner") For Each objItem in colItems if oFile.name = "system volume information" then exit for end if txt.WriteLine( "FileOwner: " & objItem.AccountName) Next Next 统计某用户在某目录下的文件和文件夹使用方法: 脚本名 目录名 用户名 如: owner.vbs d:\ lsj 结果是在相应目录下生成一个文本文件 格式如下: -------------------------------------------------------------- d:\jcb-gx Type: File Folder Size: 22MB -------------------------------------------------------------- d:\powerword 2003.rar Type: WinRAR 档案文件 Size: 503MB -------------------------------------------------------------- d:\txt.txt Type: Text Document Size: 0MB -------------------------------------------------------------- d:\年 度 考 核 登 记 表2006版061225.doc Type: Microsoft Word 文档 Size: 0MB -------------------------------------------------------------- -------------------------------------------------------------- -------------------------------------------------------------- The TotalSize of All files lsj owns is: 525MB ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 以下为脚本代码: TotalSize = 0 G = WScript.arguments(0) H = WScript.arguments(1) Set oFSO = CreateObject("Scripting.FileSystemObject") set txt = oFSO.CreateTextFile(G&"TXT.txt",true) set objWMI = GetObject("winmgmts:") Set oFiles = objWMI.ExecQuery("ASSOCIATORS OF {Win32_Directory.Name=''"&G&"''}" & "where ResultClass = CIM_logicalfile") For Each oFile In oFiles strFile = oFile.name Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2") Set colItems = objWMIService.ExecQuery ("AS |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 用于修复XP中最小化程序 在任务栏显示图标的vbs脚本下一篇: vbs之自动安装驱动程序
关于vbs 列出该目录下所有文件和文件夹的类型,大小,和所有者的所有评论