vbs 列出该目录下所有文件和文件夹的类型,大小,和所有者
作者 佚名
来源 ASP编程
浏览
发布时间 2013-07-09
SOCIATORS OF {Win32_LogicalFileSecuritySetting=''" & strFile & "''}" & " WHERE AssocClass=Win32_LogicalFileOwner ResultRole=Owner") For Each objItem in colItems if objItem.AccountName = H then txt.WriteLine( "--------------------------------------------------------------") txt.WriteLine( oFile.name) txt.WriteLine( "Type: " & oFile.FileType) if oFile.name = G&"system volume information" then exit for end if S = 0 if oFile.FileType="File Folder" then Set objFolder = oFSO.GetFolder(oFile.name) S= Cint(objFolder.Size/1024/1024) else S= Cint(oFile.FileSize/1024/1024) end if txt.WriteLine( "Size: " & S &"MB") TotalSize = TotalSize + S end if Next Next txt.WriteLine( "--------------------------------------------------------------") txt.WriteLine( "--------------------------------------------------------------") txt.WriteLine( "--------------------------------------------------------------") txt.WriteLine( "The TotalSize of All files "&H&" owns is: " & TotalSize &"MB") 更新后: 4.0版 使用方法: 脚本名 目录名 脚本会在相应目录下生成几个与本机用户对应的TXT文件,每个文件列出相应用户所有文件和文件夹的类型大小,并在最 后合总计算所有文件和文件夹的大小 以下是代码: TotalSize = 0 G = WScript.arguments(0) Set oFSO = CreateObject("Scripting.FileSystemObject") Set objWMI = GetObject("winmgmts:") Set oFiles = objWMI.ExecQuery("ASSOCIATORS OF {Win32_Directory.Name=''"&G&"''}" & "where ResultClass = CIM_logicalfile") Set objNetwork = CreateObject("Wscript.Network") strComputer = objNetwork.ComputerName Set colAccounts = GetObject("WinNT://" & strComputer & "") colAccounts.Filter = Array("user") For Each objUser In colAccounts H = objUser.Name A = G & objUser.Name & "txt.txt" Set txt = oFSO.CreateTextFile (A,true) For Each oFile In oFiles strFile = oFile.name Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2") Set colItems = objWMIService.ExecQuery ("ASSOCIATORS OF {Win32_LogicalFileSecuritySetting=''" & strFile & "''}" & " WHERE AssocClass=Win32_LogicalFileOwner ResultRole=Owner") For Each objItem in colItems if objItem.AccountName = H then txt.WriteLine( "--------------------------------------------------------------") txt.WriteLine( oFile.name) txt.WriteLine( "Type: " & oFile.FileType) if oFile.name = G&"system volume information" then exit for end if S = 0 if oFile.FileType="File Folder" then Set objFolder = oFSO.GetFolder(oFile.name) S= Cint(objFolder.Size/1024/1024) else S= Cint(oFile.FileSize/1024/1024) end if txt.WriteLine( "Size: " & S &"MB") TotalSize = TotalSize + S end if Next Next txt.WriteLine( "--------------------------------------------------------------") txt.WriteLine( "--------------------------------------------------------------") txt.WriteLine( "--------------------------------------------------------------") txt.WriteLine( "The TotalSize of All files "&H&" owns is: " & TotalSize &"MB") Next 再次更新后: 4.1版 用法同前 脚本名 目录名 在目录名下生成一个文件,按用户次序输出所有用户在该目录中的文件信息,格式如下: --- |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 用于修复XP中最小化程序 在任务栏显示图标的vbs脚本下一篇: vbs之自动安装驱动程序
关于vbs 列出该目录下所有文件和文件夹的类型,大小,和所有者的所有评论