国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

vbs 列出該目錄下所有文件和文件夾的類型,大小,和所有者

2020-06-26 18:20:28
字體:
來源:轉載
供稿:網友
這是我在菊花論壇腳本版塊看到的,真的很不錯,一共有四個部份,把代碼復制到記事本另存為GetOwner.VBS文件,
 
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 ("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版 
使用方法: 
腳本名 目錄名 
腳本會在相應目錄下生成幾個與本機用戶對應的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版 
用法同前 
腳本名 目錄名 
在目錄名下生成一個文件,按用戶次序輸出所有用戶在該目錄中的文件信息,格式如下: 
-------------------------------------------------------------- 
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"
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安陆市| 临海市| 陈巴尔虎旗| 连江县| 宁海县| 修水县| 交城县| 迁安市| 株洲县| 富阳市| 耿马| 织金县| 龙江县| 安西县| 彭泽县| 定日县| 公主岭市| 无极县| 温州市| 西峡县| 祁东县| 宜阳县| 宁明县| 安顺市| 博爱县| 大同市| 漯河市| 新巴尔虎右旗| 怀化市| 大名县| 息烽县| 南城县| 武邑县| 贵港市| 赤峰市| 珲春市| 华容县| 中方县| 安溪县| 东城区| 藁城市|