我有一个脚本来ping服务器,我用来执行该命令,以转到我的文件在CMD上所在的路径,然后键入以下行
FileName ip logname.log
这是我运行的脚本
hostIp = wscript.arguments(0)
logfilename = wscript.arguments(1)
Set fso = CreateObject("Scripting.FileSystemObject")
Set Shell = CreateObject("Wscript.Shell")
' OpenTextFile Method requires a Const value
' (Over)Write = 2 Append = 8
Set logfile = fso.OpenTextFile(logfilename, 8, True)
shellstring = "%comspec% /c ping -t -f -l 32 -w 1000 " & hostIP
Set oExec = Shell.Exec(shellstring)
wscript.echo "Ping Error log With Timestamp - Ctrl + C to halt"
Do While oExec.StdOut.AtEndOfStream <> True
pingline = Date & " " & Time & " " & oExec.StdOut.ReadLine
' If InStr(pingline, "TTL=") = 0 Then
logfile.WriteLine(pingline)
' End If
Loop
但是,无论何时执行,它都不再起作用,现在它会打开文件而不是执行文件。关于如何解决此问题的任何想法?
如果使用语法:
Filename ip logname.log
那么该操作将从注册表中派生。
在我的计算机上,我有以下内容。
如果您不想碰碰运气,则必须在命令行中明确包含WScript或CScript,例如
CScript Filename ip logname.log
CScript和WScript之间最显着的区别是的行为WScript.Echo
。使用CScript,文本将回显到stdout,并且不会阻塞。使用WScript,文本将显示在模式对话框中并被阻止。如果(1)从命令提示符处调用脚本,(2)从计划任务中调用脚本,则通常首选前者。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句