打印

[求助] 文件服务器上统计一用户所创建的文件

本主题由 mwpq 于 2008-1-7 11:06 关闭

文件服务器上统计一用户所创建的文件

有没有什么脚本或软件在文件服务器上找出由哪一个用户所创建的所有文件和文夹呢,这样在文件服务器上就好管理多了!!因为有时有些用户把文件放上去以后那自己都不知道哪些是他的哪些是别人的了,他空间满了后,他自己又删不了别人的东西,但又找不出哪些是自己放进去的东西了。

TOP

:) //这个是从script guy上复制来的脚本原样,你可以自己修改使用,或者等我修改:D
4 `4 L8 y* l) [: aOn Error Resume Next
, k' }4 O/ Z, E* d# U" w# L5 g
* `, K. D2 O% m$ m/ Y+ cstrComputer = "."6 S: D. i- w/ |* {# F! a; @6 J+ W
Set objWMIService = GetObject("winmgmts:" _( J" V0 C0 y: b8 D2 z
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
: ]7 z) `/ D0 {$ H. d
8 }% j9 [: V b/ {1 Z; ~: w' UstrFile = "F:\Documents\study" //这里换成你要检测的文件夹
/ J5 b! @& ^# K, y5 x4 X2 C3 ^7 w
0 p# e/ ^! }9 Z0 @) f0 v) dSet colItems = objWMIService.ExecQuery _8 K2 A( u. s2 b/ ^6 Y
("ASSOCIATORS OF {Win32_LogicalFileSecuritySetting='" & strFile & "'}" _ * ~) [: U g* r/ r6 ]* Z x4 K
& " WHERE AssocClass=Win32_LogicalFileOwner ResultRole=Owner")
$ D' A" W$ t1 t- w q; x+ s8 m. ]/ w/ s- s4 i* E& Q0 V
For Each objItem in colItems
+ ^2 g- \ |: J, C& N! F$ U Wscript.Echo objItem.ReferencedDomainName: ^9 B- L2 W" @- G: b
Wscript.Echo objItem.AccountName: F, d" P7 c/ @5 u; A
Next
我说了我不想哭,可是你为什么老下雨~~~

TOP

版本一

可以列出某目录下所有文件的所有者~~~~但不支持子文件夹:(
# M0 m" K" Q: _! ^( X& \敬请静待2.0版;P
2 [3 l3 m+ H* H6 |
; s3 A5 }% O, ]! V5 G+ ]/ f
引用:
" v6 R8 u7 F- _- B- x) v

2 s; e$ P6 q a( NDim G
1 V: m8 B: D1 C- |$ BG = "G:\DownLoad\send" '这里换成你的目录7 U) b. v' T @' o9 s Q& A
Set oFSO = CreateObject("Scripting.FileSystemObject")+ `' `2 C: T9 k% e/ I. S- A# l
Set oTFile = oFSO.CreateTextFile("C:\output.txt"); |3 f, U8 l! H" c( g5 Y# c2 m8 }
set objWMI = GetObject("winmgmts:")
. r% ^7 b2 D# B9 t" xSet oFiles = objWMI.ExecQuery("ASSOCIATORS OF {Win32_Directory.Name='"&G&"'}" & "where ResultClass = CIM_datafile")8 w! p7 `* N/ C) }
" J4 `. }( H/ ~
For Each oFile In oFiles
! D* L5 @: { b Wscript.Echo
8 f a" u. W) A) [0 |" U) \ Wscript.Echo oFile.name0 p; X8 P6 D( L
strFile = oFile.name
5 M# S) v7 D$ g/ l4 T6 O7 ^strComputer = "."4 a: a% g( w8 v0 E% @
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
2 o9 R3 ]/ X; ^% Y. X8 l6 H6 FSet colItems = objWMIService.ExecQuery ("ASSOCIATORS OF {Win32_LogicalFileSecuritySetting='" & strFile & "'}" & " WHERE 2 [, N' c% Y) w+ G1 H
AssocClass=Win32_LogicalFileOwner ResultRole=Owner")0 a+ O7 |$ x: N; j" t% O3 r
For Each objItem in colItems
5 ?, Q+ A! l Q1 @! g- ~" [ Wscript.Echo "Fileowner:" & objItem.AccountName* G, ?! L! _) h- I6 H" X+ L1 E
Next
$ Y; M% X& A6 @Next) k3 k7 `7 J: ]! o" o# |
# B+ ^3 c2 H( A. X* M

! E' A, d' p0 h% n; u: T
6 k, z) p5 e# I/ }$ D

' Z# s# P9 @6 W/ x& r[ 本帖最后由 lgaint 于 2007-11-26 12:32 编辑 ]
我说了我不想哭,可是你为什么老下雨~~~

TOP

2.0版来啦

其实只要把1.0版改一点点就行了,呵:lol: - a. o, {4 [! }
另存为GetOwner.VBS文件, v! _8 B: h" s
用法,在命令行下:! z8 w6 B2 l, j' O5 E0 J$ p
GetOwner.vbs d : \
) f: x+ e! Z# e2 {7 v会在D盘下生成一个TXT.TXT文件,内里列出D盘下所有文件和文件夹的所有者,格式如下0 U9 j0 g# w; F/ P$ G; v* ~9 P
' o8 Y- ?1 h- _/ Y% M" {6 \! t
-------------------------------------------------------------
/ h- }/ A; E6 u9 ?2 z wd:\data6 f) W5 ], v1 q5 h% @
Fileowner: - r5 o$ m% Z0 Q- L2 M& ^
--------------------------------------------------------------
" N6 Z6 e5 C* U: s: Td:\game
4 H. C: g! `5 L) E. k" U8 F# @Fileowner: ) X/ }9 d. }, V, ^( v! b* ]* |
--------------------------------------------------------------9 z) @$ p* ^* Y
d:\jcb-gx
$ N7 B7 ^4 k/ a- x( bFileowner: lsj
- S6 H7 f- k, t--------------------------------------------------------------
, x: @6 B/ `& c( jd:\powerword 2003+ f- g5 E2 l( @ a$ a
Fileowner: $ b: A% y5 D# z: R9 w
--------------------------------------------------------------
" o+ K2 H7 T( M0 M+ j) ad:\program files) m: o+ T7 a: W% g
Fileowner:
$ r! T, a! K( D- y% n# c--------------------------------------------------------------1 ]$ ^6 d, G6 I0 ?( r& k( f
d:\recycler
1 Q$ ^7 w& I. B) |6 P! QFileowner:
9 R% @) n o7 _! J. Z8 o$ W; j--------------------------------------------------------------
* A% |# e$ H! Sd:\system volume information
/ l$ z; V0 D+ E% R9 I/ m( EFileowner: Administrators
3 c% v8 y& b ~5 M--------------------------------------------------------------
[2 _8 I6 a" M1 s7 z0 R$ k8 @+ n3 C8 hd:\temp. V* }2 z; J0 \ o1 [$ o8 `# U/ |
Fileowner:
$ {$ [+ @' B M--------------------------------------------------------------3 s3 R& i' x$ z+ ` X* ]
d:\win-tc8 Y+ W2 n y. ^ W( S* r5 ]+ N
Fileowner:
1 ]( |; d* T+ w! c' e: T( U3 v--------------------------------------------------------------
8 R" p! f8 J6 G* H- f& jd:\powerword 2003.rar
- U S# i: T r$ \; `Fileowner: lsj
/ ]* _5 g, z8 p% D# x& O1 [) Y3 N--------------------------------------------------------------- V* ]* R# F9 `4 m0 g. J, L
d:\txt.txt
" N5 m1 N8 S( u$ y' x8 VFileowner: lsj/ @3 ]0 ~" p2 W$ P% E' e/ M
--------------------------------------------------------------
4 I; \9 d4 |+ _- Sd:\年 度 考 核 登 记 表2006版061225.doc$ b, I: k( Z2 E
Fileowner: lsj0 w; z; [# g6 I. r
: Z9 p- L3 C' v7 M5 N: X

# j% \5 T8 ?: d" [# n呵呵,有些文件夹的所有者,没有列出来,你知道是为什么?答中有奖8 X+ V: E; i% v1 |2 l, l# c% ^! \ U! c
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~```
8 o7 {$ f9 v# E ~, z4 X, t0 R7 C; L( y: U
G = WScript.arguments(0)6 {% ~% R& {9 o0 A
Set oFSO = CreateObject("Scripting.FileSystemObject")
. i2 O7 Q. n$ ^+ \& k" _! o' {set txt = oFSO.CreateTextFile(G&"TXT.txt",true) '嘿嘿,如果这个目录下刚好有一个TXT.txt文件,那就算你倒霉,不会有人真用这种名
; ~4 r" H5 A7 o& y+ m2 m6 D+ j! _4 n5 B. ?" |$ k
字来做文件名吧?真的啊,真的有啊?那你换地方吧~~~C:\TXT.TXT应该不会有了吧?2 ]* m) `# U( |0 |* C% s: `# Y
set objWMI = GetObject("winmgmts:")+ `1 \9 x4 e$ E6 W0 E3 E
Set oFiles = objWMI.ExecQuery("ASSOCIATORS OF {Win32_Directory.Name='"&G&"'}" & "where ResultClass = 9 T3 U, q6 M$ ?) |1 G" A
* o6 M6 Z( G5 R& E+ S4 G+ X
CIM_logicalfile"); K8 u1 s: C+ m% j2 E' c" H
For Each oFile In oFiles" v6 \5 @) n6 L& c9 s
txt.WriteLine( "--------------------------------------------------------------")
" ]; E( r8 x4 J: x: P# ]3 x) F txt.WriteLine( oFile.name)( _7 i0 p# \2 l+ l
strFile = oFile.name
( Q* A4 G: C9 \/ R estrComputer = "."* e' \/ K" Y( ?4 D
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
1 v4 { A( C' H! @ m2 y7 TSet colItems = objWMIService.ExecQuery ("ASSOCIATORS OF {Win32_LogicalFileSecuritySetting='" & strFile & "'}" & " WHERE
8 c8 q7 v' V. F& |# L
+ W5 u0 B& u. Y u5 TAssocClass=Win32_LogicalFileOwner ResultRole=Owner")
: |: N9 l/ w6 g5 m- hFor Each objItem in colItems% j) L. e( }- k0 `- k- Q/ R' ^
txt.WriteLine( "Fileowner: " & objItem.AccountName)& r' {. `0 F, {+ v+ b
Next
|# R: \7 r& p/ o% n0 }) X* V NNext; T/ C4 r6 y) l" c* l8 x

' ^: b: U1 S' Q- v# u( k( `~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
我说了我不想哭,可是你为什么老下雨~~~

TOP

版主给我加精,加精,我要加精~~~~~~
我说了我不想哭,可是你为什么老下雨~~~

TOP

算了 ,楼主不是我 加了精也不算我的
我说了我不想哭,可是你为什么老下雨~~~

TOP

前面是针对所有用户来的

这个是针对某一个用户的
; _6 D P9 h' g* r
6 C( X& ^" M. S0 _/ u使用方法:
d, a1 Y2 P) K# I" W& b4 ]脚本名 目录名 用户名
& I$ i( ^# p# r/ E7 a3 ~如:
' E% [) u0 P( |& a' Nowner.vbs d:\ lsj
, l$ v$ O* e9 ?* v- N( \结果是在相应目录下生成一个文本文件6 L4 c7 q X' P
格式如下:
" Y0 w! r, U$ z' k8 C--------------------------------------------------------------
! W. m$ _' j# ~d:\jcb-gx' t8 k; G6 p% T8 Z8 c4 {
Type: File Folder
' `# l U8 N( n7 ]1 BSize: 22MB
; h9 h4 e8 V! c B# T--------------------------------------------------------------: I% j: O: Y( r& _( s% G
d:\powerword 2003.rar) S* G- A, V4 c' P- f5 ~
Type: WinRAR 档案文件
* l1 U ~# M% o# i0 w: eSize: 503MB
# j4 K% e- K; @--------------------------------------------------------------* J2 _4 c9 } F1 w4 c
d:\txt.txt3 j% L- E2 R! G- z
Type: Text Document3 Q: ^1 u$ x9 i! w
Size: 0MB
4 f) n8 K/ L8 A5 r2 s--------------------------------------------------------------) s1 G' m1 Z) Z* f% p
d:\年 度 考 核 登 记 表2006版061225.doc+ ^( z1 G5 G( d
Type: Microsoft Word 文档$ C2 e6 j5 v$ u8 B
Size: 0MB
3 a6 z9 \! h. W- Q) p9 U& ^9 j--------------------------------------------------------------
, S$ W: v; H( }- t' A$ y- ?--------------------------------------------------------------
% t( O, O7 v) C% r, E--------------------------------------------------------------& G8 @6 _+ d& j+ R* g; F' p
The TotalSize of All files lsj owns is: 525MB
+ ?. i/ [, v$ Y, R! W1 f0 O: s
3 n4 S g0 s& q' u, F' n- `% J
" `/ K4 O }, m9 V; l, @~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`' L! Y+ [" b6 C( n4 Z$ ~) v1 c

! G- ]8 ^+ s1 p: g% G: ?; e0 ^( o+ _+ h# W+ f4 \: Q5 S
TotalSize = 0
p1 p+ R! j: u# D. l G = WScript.arguments(0)
% O6 E& m W1 [% a0 o3 a. p H = WScript.arguments(1)' N; h8 Z$ [2 q* {! b- D: t/ d. d3 h
Set oFSO = CreateObject("Scripting.FileSystemObject")
0 c. z/ t j' d4 Z* O$ }5 V8 iset txt = oFSO.CreateTextFile(G&"TXT.txt",true)
' }$ u9 k i# o# S* j& G) b4 _4 wset objWMI = GetObject("winmgmts:")6 P& H* q9 j A$ Y+ ]! \+ \
Set oFiles = objWMI.ExecQuery("ASSOCIATORS OF {Win32_Directory.Name='"&G&"'}" & "where ResultClass = CIM_logicalfile")
' f) e" H9 z$ m% Y8 Y7 o# z) u8 w# h! m% m! `) W" l' E" t
For Each oFile In oFiles
) X8 u4 V" \( Y& [
$ m3 a1 C, ?5 E+ e) J+ g% l strFile = oFile.name
0 k. J/ k% z% u! o* @ t Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
7 Q* A2 r9 L' m" |( @+ b% h Set colItems = objWMIService.ExecQuery ("ASSOCIATORS OF {Win32_LogicalFileSecuritySetting='" & strFile & "'}" & " WHERE Q1 O9 w6 M. o# a' C7 L$ R

: o2 H3 l! u; r+ pAssocClass=Win32_LogicalFileOwner ResultRole=Owner")
3 p- H: P+ s' T4 w. E0 w; a* k3 V
+ d$ A+ K5 G0 B; m( Y& S! q3 \: y" g r8 v- u" p$ K' I; \9 e7 V
For Each objItem in colItems
+ @/ ~# _+ c6 C! z$ ^( q: {8 } if objItem.AccountName = H then2 a& b' I9 a1 `0 b8 }
* ~: F7 \ ?6 X8 I$ q' h# q1 Q% \" u
txt.WriteLine( "--------------------------------------------------------------")# s- c, p: R% X& a3 S4 K+ H
txt.WriteLine( oFile.name)$ K- a; Q# Q4 C9 E5 i. U5 x/ y: _9 l
txt.WriteLine( "Type: " & oFile.FileType)
3 p" f1 ]5 v/ x/ E$ e( T& r8 t$ ~. S# p7 s* b
if oFile.name = G&"system volume information" then. Z, F1 a$ j! r/ ~: A
exit for
* }/ d0 Z3 d, ] end if
g7 a- K0 R% q+ H4 L2 O' J4 s, \9 @- j
S = 00 t: B" F$ z9 _! F; w" U- y; W9 b9 [

3 }) {/ ~$ @! ?( N if oFile.FileType="File Folder" then* e# B N) T2 v
Set objFolder = oFSO.GetFolder(oFile.name)
4 R- w/ l$ I, X/ T- ] S= Cint(objFolder.Size/1024/1024)
! g: W/ w0 ?- ]' O else
% P3 v; B! C7 O$ [" ]" z+ B S= Cint(oFile.FileSize/1024/1024)
2 S: {/ o S& |- w# K: f+ n0 e end if
5 t% c2 f6 }. Q- s+ M5 h! Z1 m txt.WriteLine( "Size: " & S &"MB")+ o' X/ ~" [3 i+ f
TotalSize = TotalSize + S
4 H5 n; y; D0 d8 f, c1 @: R end if
4 {' u. w6 i6 I- _ Next
! f$ J) u& O$ [ ~4 {! n
( b5 q j4 d) iNext
5 X! t4 ~# w" {- e 2 ^4 l6 M/ j% l
txt.WriteLine( "--------------------------------------------------------------")
! N: O3 I& ]; X5 L- Y txt.WriteLine( "--------------------------------------------------------------")6 N2 ^ C. c' j I3 o& ~ ^& F
txt.WriteLine( "--------------------------------------------------------------")
( W0 U5 \' p! b7 i* _/ K. y txt.WriteLine( "The TotalSize of All files "&H&" owns is: " & TotalSize &"MB")
我说了我不想哭,可是你为什么老下雨~~~

TOP

详细,感谢igaint大哥,但上面的脚本不能复制啊,复制到文本文件里的全是些别的东西啊!!
0 J" e) _- q/ M4 S& h! V7 |4 p& K9 x" u5 j" l& S+ f, Q
[ 本帖最后由 live-share 于 2007-11-27 11:10 编辑 ]

TOP

不好意思,忘记会加干扰乱码了

回复代码1; r$ V1 q. ?- a; Q7 t$ C& z- F: {
O! D* U2 ]) m
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
复制内容到剪贴板
代码:

On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
strFile = "F:\Documents\study" //这里换成你要检测的文件夹
Set colItems = objWMIService.ExecQuery _
("ASSOCIATORS OF {Win32_LogicalFileSecuritySetting='" & strFile & "'}" _
& " WHERE AssocClass=Win32_LogicalFileOwner ResultRole=Owner")
For Each objItem in colItems
Wscript.Echo objItem.ReferencedDomainName
Wscript.Echo objItem.AccountName
Next
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
+ d: _7 l: U! J. _: f4 _* g& [" J7 C6 B1 G3 f" l

; W: x) F0 {/ v4 p版本1% a8 U) D% F: E, o0 d

3 o8 d- U) {8 H~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
复制内容到剪贴板
代码:


Dim G
G = "G:\DownLoad\send" '这里换成你的目录
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oTFile = oFSO.CreateTextFile("C:\output.txt")
set objWMI = GetObject("winmgmts:")
Set oFiles = objWMI.ExecQuery("ASSOCIATORS OF {Win32_Directory.Name='"&G&"'}" & "where ResultClass = CIM_datafile")
For Each oFile In oFiles
Wscript.Echo
Wscript.Echo oFile.name
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
Wscript.Echo "Fileowner:" & objItem.AccountName
Next
Next
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
8 C4 x; o) m7 E( H7 S- E Q. E& q8 D5 A0 I

: p% }& x1 l: Z版本2
; ]+ e' ?6 _# r R7 N5 X% p/ n3 J8 J3 A
使用方法:
0 @8 ~1 @, b! K! r' Q脚本名 目录名花论
; D& c) ?& K3 R: q~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
复制内容到剪贴板
代码:

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)
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
txt.WriteLine( "Fileowner: " & objItem.AccountName)
Next
Next
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
# ~/ L7 i+ z& ^9 l* R. Z% p$ h$ P
E9 c$ H5 N4 w0 C& p Z
4 X# Z% F9 m' S7 W; a4 C) x2 M+ G版本3- m2 X9 ~- ?3 s. x1 @
使用方法:% N8 [9 h$ u* o2 T& k
脚本名 目录名 用户名菊花论& J2 ~" M, u$ f+ w
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
复制内容到剪贴板
代码:
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")
考完试鸟,心力憔悴呀~~~~接下来,准备补考

TOP

这个工具我会随着自己对脚本语言的学习持续更新,直到自己满意为止7 K/ z; i- K9 v' e9 `& j
为了方便更新和编辑,以及实现我的精华梦, 我另起一帖~~~( i$ r C1 |2 O. R5 o' R
http://www.sharecenter.net/viewt ... &extra=page%3D1* }4 O d" w. U4 z. v6 Q# U

. [, u; h" k+ J) X# f这边我就不再回复了
我说了我不想哭,可是你为什么老下雨~~~

TOP

4.1版9 Z: U7 Z2 M3 i z
用法同前0 Q' ^& O6 X" `" G: h
脚本名 目录名# ~3 t0 D( Y! C5 M9 B* E3 G
在目录名下生成一个文件,按用户次序输出所有用户在该目录中的文件信息,格式如下:
! Q2 \8 Y8 m: a* _! C" I! S: Q8 F0 \1 V8 h' j9 t
--------------------------------------------------------------
3 q* i4 p0 H! c* h2 i1 a) j9 mThe TotalSize of All files Administrator owns is: 0MB0 G" X- s" ` J" {1 Z/ W- w0 ~& Q
--------------------------------------------------------------
7 m5 R, k" F' S/ g# B$ y9 c※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
+ e! F$ i2 E) j--------------------------------------------------------------. ?% f( `" A4 @+ |: N# m- G$ f
The TotalSize of All files Guest owns is: 0MB
6 E+ Y/ c! q9 B) b9 k--------------------------------------------------------------5 d9 r* U( m" c- u
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
- x0 e+ `0 r c; h6 e9 n--------------------------------------------------------------
5 |+ g b' ?. O: wThe TotalSize of All files HelpAssistant owns is: 0MB( |, y5 v, g, H5 O, n- c. W
--------------------------------------------------------------% z) Z$ {1 |! C0 Q
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※! i$ ~% S1 B1 n# P" u- u* z6 ^
--------------------------------------------------------------% a: N# E9 l" C+ K) ]
d:\powerword 2003.rar
: V" J( Y3 s! V4 v! O& eType: WinRAR 档案文件- k6 L3 d/ Z0 M+ A& `
Size: 503MB0 f" N. L- W( K2 ]; W
--------------------------------------------------------------- v4 _6 M4 v/ D) a7 m9 ~4 q
d:\年 度 考 核 登 记 表2006版061225.doc
3 S5 L6 `- o* ^: f: tType: Microsoft Word 文档3 `/ z) R+ y+ X
Size: 0MB
5 s/ V2 x9 _# A) E6 d% X% x--------------------------------------------------------------
, [% Y* R" w; t! o( Sd:\jcb-gx
$ G' ^2 l* \% mType: File Folder! j6 ]* q6 y, l
Size: 22MB
$ a# j f; }" V# `5 Y--------------------------------------------------------------
4 w2 f0 l/ a: M5 m2 W o# t2 U* cThe TotalSize of All files lsj owns is: 525MB$ @7 t; l" p$ j; U# P/ }+ k
--------------------------------------------------------------
- P- J; v6 [* Z9 q0 B" ~※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※2 y9 n) d. X( F$ \! z7 B: K' {0 Z @
--------------------------------------------------------------) G1 Q3 T" E; S5 O7 h$ n, c* V8 o5 ^
The TotalSize of All files SUPPORT_388945a0 owns is: 0MB* K0 _$ U; ?& U/ g1 Z
--------------------------------------------------------------& e0 o1 E/ s9 }; F/ s
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
复制内容到剪贴板
代码:
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"
[ 本帖最后由 lgaint 于 2007-11-28 00:13 编辑 ]
我说了我不想哭,可是你为什么老下雨~~~

TOP

晕倒,精华果然加到这儿来了,是谁加的,我要扣他的分
我说了我不想哭,可是你为什么老下雨~~~

TOP

呵呵。这是我问的好啊。

TOP

本功能由奇虎搜索实现

相关主题

标题 作者 最后发表
[站外] 7600路由器系列设计的单端口通道化OC12/STM4到DS3/E3光服务模块   [转帖] creditcard 2008-10-12
[站外] Linux中重要配置文件解析   [转帖] vincent 2008-10-12
[站外] Linux中重要配置文件解析   [转帖] vincent 2008-10-12
点击阅读更多关于的相关帖子  更多相关主题