vbs 列出該目錄下所有文件和文件夾的類型,大小,和所有者
									GetOwner.VBS用法,在命令行下:GetOwner.vbs 目錄名會在相應(yīng)目錄下生成一個(gè)TXT.TXT文件,內(nèi)里列出該目錄下所有文件和文件夾的類型,大小,和所有者 
注意:大小以MB為單位,小于1MB的就顯示為0MB, 
以下是代碼: 
G = WScript.arguments(0) 
Set oFSO = CreateObject("Scripting.FileSystemObject") 
set txt = oFSO.CreateTextFile(G&"TXT.txt",true) '嘿嘿,如果這個(gè)目錄下剛好有一個(gè)TXT.txt文件,那就算你倒霉, 
不會有人真用這種名字來做文件名吧?真的啊,真的有啊?那你 
換地方吧~~~C: \TXT.TXT應(yīng)該不會有了吧? 
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 
統(tǒng)計(jì)某用戶在某目錄下的文件和文件夾使用方法: 
腳本名 目錄名 用戶名 
如: 
owner.vbs d:\ lsj 
結(jié)果是在相應(yīng)目錄下生成一個(gè)文本文件 
格式如下: 
-------------------------------------------------------------- 
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 ("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") 
更新后: 
4.0版 
使用方法: 
腳本名 目錄名 
腳本會在相應(yīng)目錄下生成幾個(gè)與本機(jī)用戶對應(yīng)的TXT文件,每個(gè)文件列出相應(yīng)用戶所有文件和文件夾的類型大小,并在最 
后合總計(jì)算所有文件和文件夾的大小 
以下是代碼: 
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版 
用法同前 
腳本名 目錄名 
在目錄名下生成一個(gè)文件,按用戶次序輸出所有用戶在該目錄中的文件信息,格式如下: 
-------------------------------------------------------------- 
The TotalSize of All files Administrator owns is: 0MB 
-------------------------------------------------------------- 
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 
-------------------------------------------------------------- 
The TotalSize of All files Guest owns is: 0MB 
-------------------------------------------------------------- 
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 
-------------------------------------------------------------- 
The TotalSize of All files HelpAssistant owns is: 0MB 
-------------------------------------------------------------- 
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 
-------------------------------------------------------------- 
d:\powerword 2003.rar 
Type: WinRAR 檔案文件 
Size: 503MB 
-------------------------------------------------------------- 
d:\年 度 考 核 登 記 表2006版061225.doc 
Type: Microsoft Word 文檔 
Size: 0MB 
-------------------------------------------------------------- 
d:\jcb-gx 
Type: File Folder 
Size: 22MB 
-------------------------------------------------------------- 
The TotalSize of All files lsj owns is: 525MB 
-------------------------------------------------------------- 
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 
-------------------------------------------------------------- 
The TotalSize of All files SUPPORT_388945a0 owns is: 0MB 
-------------------------------------------------------------- 
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 
以下是代碼: 
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 
TotalSize = 0 
H = objUser.Name 
Set TXT = oFSO.OpenTextFile(G&"\TXT.TXT",8,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( "The TotalSize of All files "&H&" owns is: " & TotalSize &"MB") 
TXT.WriteLine( "--------------------------------------------------------------") 
TXT.WriteLine( "※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※") 
TXT.Close 
Next 
MsgBox "文件列表信息已成功輸出至TXT.TXT文件",64,"OK"
									
上一篇:reg2vbs.vbs 將Reg文件轉(zhuǎn)換為VBS文件保存 腳本之家修正版本
欄 目:vb
本文標(biāo)題:vbs 列出該目錄下所有文件和文件夾的類型,大小,和所有者
本文地址:http://www.jygsgssxh.com/a1/vb/7569.html
您可能感興趣的文章
- 01-10下載文件到本地運(yùn)行的vbs
 - 01-10VBS中的正則表達(dá)式的用法大全 <font color=red>原創(chuàng)&
 - 01-10VBS中SendKeys的基本應(yīng)用
 - 01-10VBScript教程 第十一課深入VBScript
 - 01-10用VBSCRIPT控制ONSUBMIT事件
 - 01-10VBScript語法速查及實(shí)例說明
 - 01-10VBS中Select CASE的其它用法
 - 01-10VBScript教程 第七課使用條件語句
 - 01-10vbscript 可以按引用傳遞參數(shù)嗎?
 - 01-10VBScript教程 第二課在HTML頁面中添加VBscript代碼
 


閱讀排行
本欄相關(guān)
- 01-10下載文件到本地運(yùn)行的vbs
 - 01-10飄葉千夫指源代碼,又稱qq刷屏器
 - 01-10SendKeys參考文檔
 - 01-10什么是一個(gè)高效的軟件
 - 01-10VBS中的正則表達(dá)式的用法大全 &l
 - 01-10exe2swf 工具(Adodb.Stream版)
 - 01-10VBS中SendKeys的基本應(yīng)用
 - 01-10用VBSCRIPT控制ONSUBMIT事件
 - 01-10VBScript教程 第十一課深入VBScript
 - 01-10VBScript語法速查及實(shí)例說明
 
隨機(jī)閱讀
- 01-10C#中split用法實(shí)例總結(jié)
 - 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
 - 01-10delphi制作wav文件的方法
 - 01-11ajax實(shí)現(xiàn)頁面的局部加載
 - 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
 - 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
 - 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
 - 08-05DEDE織夢data目錄下的sessions文件夾有什
 - 08-05織夢dedecms什么時(shí)候用欄目交叉功能?
 - 04-02jquery與jsp,用jquery
 


