generuj dziennik dla każdego dnia .vbs


0

Próbuję utworzyć plik dziennika na ten dzień za pomocą tego skryptu

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  
    d = Day(Now) 
    m = Month(Now)  
    y = Year(Now)
    myDateFormat= d & "-" & m & "-" & y 
Set logfile = fso.OpenTextFile(logfilename & " " & myDateFormat & ".log", 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

Myślałem, że jest w porządku, ale uruchomiłem go na 3 dni i jest tylko jeden plik zamiast 3. Jakieś pomysły na temat tego, co jest nie tak ze skryptem? btw Uruchom ten skrypt na cmd z tą linią

FileName ip logname.log

Dodaj instrukcje zapisu do pliku dziennika, aby wydrukować wartości d, „m”, „y”, „plik dziennika”, aby zweryfikować logikę. Zaktualizuj pytanie, podając odpowiednie informacje.
Ramhound

Odpowiedzi:


0

Czy to pomaga:

dim objShell : set ObjShell  = CreateObject("Wscript.Shell")
dim objFso   : set objFso    = CreateObject("Scripting.FileSystemObject")

dim shellstring : shellstring = "%comspec% /c ping -t -f -l 32 -w 1000 " & wscript.arguments(0)

dim oExec : set oExec = ObjShell.Exec(shellstring)

do while oExec.StdOut.AtEndOfStream <> true
  log( oExec.StdOut.ReadLine )
loop

function log(strLineIn)

  myDateFormat= Day(Now) & "-" & Month(Now) & "-" & Year(Now)

  dim logfile : set logfile = objFso.OpenTextFile(wscript.arguments(1) & " " & myDateFormat & ".log", 8, True)

  if instr(strLineIn, "TTL") > 0 then
    logfile.writeline date() & "-" & time() & ": " & strLineIn
  end if

  logfile.close

end function
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.