Board logo

标题: [问题求助] VBS 有没有不用FSO 的变量容器存储TXT所有内容 [打印本页]

作者: newfish    时间: 2013-4-9 18:08     标题: VBS 有没有不用FSO 的变量容器存储TXT所有内容

本帖最后由 newfish 于 2013-4-12 01:47 编辑
  1. strComputer = "."
  2. Set objWMIService = GetObject("winmgmts:" _
  3.     & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
  4. Set colEvents = objWMIService.ExecQuery _
  5.     ("Select * from Win32_NTLogEvent WHERE Logfile = 'Security' and EventCode='540' ")
  6. dim strm
  7. For each objEvent in colEvents
  8. strm  =    objEvent.Message     ' 这一句出错, 只获取的到 一行,然后报错.. 但是我直接用objEvent.Message.readline  又报错....
  9. do   until   mstr.atendofstream
  10. If  instr(mstr.ReadLine,"用户名") <>0     then
  11. wscript.echo   mstr.ReadLine
  12. end if
  13.         
  14. loop
  15. Next
复制代码
但是用FSO的话  又不能load " objEvent.Message "


不熟悉VBS ..求指教...
作者: ShadowFiend    时间: 2013-4-10 21:44

可以把指针移动到TXT文件尾部,然后看最后读取就可以。

直接运行是比较占内存。所以添加wscript.sleep 100  可以缓解一下
作者: newfish    时间: 2013-4-10 23:26

能给点代码么..
作者: czjt1234    时间: 2013-4-11 11:41

每隔一定时间,比如1小时,保存一个文件

把处理工作留到后面
作者: newfish    时间: 2013-4-12 01:48

回复 4# czjt1234   我重新编辑了帖子和问题...求指教
作者: newfish    时间: 2013-4-12 01:49

回复 2# ShadowFiend

我重新编辑了帖子和问题. 求指教
作者: CrLf    时间: 2013-4-12 04:27

到底是 strm 还是 mstr?疑似笔误
还有,如果 objEvent.Message 是对象,需要用 set
作者: ShadowFiend    时间: 2013-4-12 13:12

本帖最后由 ShadowFiend 于 2013-4-12 13:13 编辑
  1. strComputer = "."
  2. Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
  3. Set colEvents = objWMIService.ExecQuery("Select * from Win32_NTLogEvent WHERE Logfile = 'Security' and EventCode='540' ")
  4. Dim str, objEvent
  5. For each objEvent in colEvents
  6. str  =  objEvent.Message     ' 这一句出错, 只获取的到 一行,然后报错.. 但是我直接用objEvent.Message.readline  又报错....
  7. If  instr(str,"用户名")<>0     then
  8.     WScript.Echo   Mid(str, instr(str,"用户名"))
  9. End If
  10. Next
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2