中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 21:49
47,811 主题排行 / 349,897 发帖 / 今日 2 篇 / 48,255 会员排行
DOS批处理 & 脚本技术(批处理室) » VBS报无效的过程或参数错误,怎么解决
可打印版本  821 / 7
第1楼 shayulei 发表于 2008-09-25 17:47
中级用户 发帖 74 积分 301
VBS报无效的过程或参数错误,怎么解决
我写的脚本在运行过程中报无效的过程或参数错误,出错信息如图

脚本如下:
'获取日期
dtmThisDay = Day(Date)
dtmThisMonth = Month(Date)
dtmThisYear = Year(Date)
tmToday = dtmThisMonth & "/" & dtmThisDay & "/" & dtmThisYear
Logfile = dtmThisYear & "年" & dtmThisMonth & "月"


'设置日期
Const CONVERT_TO_LOCAL_TIME = True
Set dtmStartDate = CreateObject("WbemScripting.SWbemDateTime")
Set dtmEndDate = CreateObject("WbemScripting.SWbemDateTime")
DateToCheck = CDate(tmToday)
dtmStartDate.SetVarDate DateToCheck, CONVERT_TO_LOCAL_TIME

'查询日志
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colLoggedEvents = objWMIService.ExecQuery _
("Select * from Win32_NTLogEvent Where Logfile = 'system' AND EventCode = 10 AND SourceName = 'print' AND TimeWritten < '"& dtmStartDate & "'")


'写文本文件
Const ForAppending = 8
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile _
("E:\files\PrintLog\" & Logfile & ".txt", ForAppending, True)
For Each objService in colLoggedEvents
objTextFile.WriteLine(objService.ComputerName & vbTab & objService.Message & vbTab & objService.RecordNumber & vbTab & Mid(objService.TimeWritten,1,4) & "/" & Mid(objService.TimeWritten,5,2) & "/" & Mid(objService.TimeWritten,7,2) & vbTab & Mid(objService.TimeWritten,9,2) & ":" & Mid(objService.TimeWritten,11,2) & ":" & Mid(objService.TimeWritten,13,2) & vbTab & objService.User)
Next
objTextFile.Close

附件
未命名.jpg (29.34 KiB)
第2楼 zqz0012005 发表于 2008-09-25 17:58
中级用户 发帖 135 积分 297
tmToday = dtmThisMonth & "/" & dtmThisDay & "/" & dtmThisYear
Logfile = dtmThisYear & "年" & dtmThisMonth & "月"

“/”怎能做文件名?
第3楼 shayulei 发表于 2008-09-26 08:10
中级用户 发帖 74 积分 301
tmToday是放今天的日期的变量
第4楼 shayulei 发表于 2008-09-26 09:36
中级用户 发帖 74 积分 301
问题应该出在这条打印记录上:

user1 拥有的文档 218, Microsoft Word - C2O4•2H2O 已通过 HP5200 端口在 HP LaserJet 5200 PCL 6 打印。字节大小: 96459, 打印页数: 1





其中“C2O4•2H2O ” 有很奇怪的字条,请问怎么用VBS处理?

好像有一些似似于全角的字符就会出错,怎么解决?
第5楼 shayulei 发表于 2008-09-26 09:43
中级用户 发帖 74 积分 301
问题发现,日志里用Unicode 格式的,而VBS输出是ANSI格式的,请问怎么让VBS输出Unicode格式?
第6楼 Vampire 发表于 2008-09-26 18:01
初级用户 发帖 78 积分 176
chrw试下看.
第7楼 zqz0012005 发表于 2008-09-26 19:03
中级用户 发帖 135 积分 297
Re 5楼
object.OpenTextFile(filename]])

format
可选项。使用三态值中的一个来指明打开文件的格式。如果忽略,那么文件将以 ASCII 格式打开。format 参数可以是下列设置中的任一种:
TristateTrue -1 True 以 Unicode 格式打开文件。
TristateFalse 0 False 以 ASCII 格式打开文件。
TristateUseDefault -2 使用计算机区域设置中的设置。 使用系统默认值打开文件。

2楼没看清,以为Logfile中包含tmToday
第8楼 shayulei 发表于 2008-09-27 08:45
中级用户 发帖 74 积分 301
谢谢
Set objTextFile = objFSO.OpenTextFile _
("E:\files\PrintLog\" & Logfile & ".txt", ForAppending, True, -1)
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023