佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > vbs 列出該目錄下所有文件和文件夾的類型,大小,和所有者

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

熱門標(biāo)簽:檢查注冊(cè)表項(xiàng) 美圖手機(jī) 呼叫中心市場(chǎng)需求 鐵路電話系統(tǒng) 服務(wù)器配置 銀行業(yè)務(wù) 網(wǎng)站文章發(fā)布 智能手機(jī)
GetOwner.VBS用法,在命令行下:GetOwner.vbs 目錄名會(huì)在相應(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文件,那就算你倒霉,
不會(huì)有人真用這種名字來(lái)做文件名吧?真的啊,真的有啊?那你
換地方吧~~~C: \TXT.TXT應(yīng)該不會(huì)有了吧?
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版
使用方法:
腳本名 目錄名
腳本會(huì)在相應(yīng)目錄下生成幾個(gè)與本機(jī)用戶對(duì)應(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"

標(biāo)簽:上海 沈陽(yáng) 新疆 長(zhǎng)治 河南 樂(lè)山 紅河 滄州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《vbs 列出該目錄下所有文件和文件夾的類型,大小,和所有者》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    井冈山市| 房山区| 天峨县| 开原市| 宜章县| 松阳县| 辽中县| 通化县| 麦盖提县| 中宁县| 吉隆县| 平原县| 阿尔山市| 博野县| 睢宁县| 晴隆县| 西昌市| 繁峙县| 黎川县| 韶山市| 诏安县| 谷城县| 盐津县| 安塞县| 闵行区| 靖安县| 西华县| 定远县| 响水县| 揭阳市| 嘉峪关市| 西峡县| 苗栗县| 吴江市| 钟山县| 亳州市| 勐海县| 启东市| 新干县| 谢通门县| 奉节县|