Vinnaren i pepparkakshustävlingen!
2016-05-17, 13:57
  #1
Medlem
Hej,

Har kört fast.
Behöver hjälp att få mitt script att fungera.
Tanken är att scriptet ska kolla en fil så att den inte är äldre än 5 min och det har jag fått att fungera. Dock får jag problem om filen saknas helt, får då: Microsoft VBScript runtime erro
r: File not found

Om filen saknas vill jag få ett "OK" likt (se nedan)= wscript.echo "OK: No file in folder older than 5min"
Någon som har ett bra förslag på hur lösa det?

Scriptet:

Kod:
' ----- Start of parameters -----
iHours = 0
iMinutes = 5


' ----- Start of execution -----
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFSO = objFSO.GetFile("C:\test\hej.txt")


'Diff = DateDiff("h",objFSO.DateLastModified, Now)
Diff = DateDiff("n",objFSO.DateLastModified, Now)

'wscript.echo Diff
'wscript.echo iHours
'wscript.echo iMinutes

' If Diff > iHours Then
If Diff > iMinutes Then
wscript.echo "Warning: File has not been transfered."
WScript.Quit(1)
Else
wscript.echo "OK: No file in folder older than 5min"
End if

WScript.Quit(0)
Citera
2016-05-17, 14:22
  #2
Moderator
Protons avatar
Citat:
Ursprungligen postat av Giallorossi
Hej,

Har kört fast.
Behöver hjälp att få mitt script att fungera.
Tanken är att scriptet ska kolla en fil så att den inte är äldre än 5 min och det har jag fått att fungera. Dock får jag problem om filen saknas helt, får då: Microsoft VBScript runtime erro
r: File not found

Om filen saknas vill jag få ett "OK" likt (se nedan)= wscript.echo "OK: No file in folder older than 5min"
Någon som har ett bra förslag på hur lösa det?

Scriptet:

Kod:
' ----- Start of parameters -----
iHours = 0
iMinutes = 5


' ----- Start of execution -----
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFSO = objFSO.GetFile("C:\test\hej.txt")


'Diff = DateDiff("h",objFSO.DateLastModified, Now)
Diff = DateDiff("n",objFSO.DateLastModified, Now)

'wscript.echo Diff
'wscript.echo iHours
'wscript.echo iMinutes

' If Diff > iHours Then
If Diff > iMinutes Then
wscript.echo "Warning: File has not been transfered."
WScript.Quit(1)
Else
wscript.echo "OK: No file in folder older than 5min"
End if

WScript.Quit(0)
Första tricket är at läsa på om de metoder som FileSystemObject har(https://msdn.microsoft.com/en-us/lib...(v=vs.84).aspx). Hade man gjort det hade man hittat metoden FileExists som verkar göra precis det du är ute efter:


Kod:
' ----- Start of parameters -----
iHours = 0
iMinutes = 5


' ----- Start of execution -----
Set objFSO = CreateObject("Scripting.FileSystemObject")

If Not objFso.FileExists("C:\test\hej.txt") Then
wscript.echo "Error: No such file"
WScript.Quit(1)
End If
Set objFSO = objFSO.GetFile("C:\test\hej.txt")


'Diff = DateDiff("h",objFSO.DateLastModified, Now)
Diff = DateDiff("n",objFSO.DateLastModified, Now)

'wscript.echo Diff
'wscript.echo iHours
'wscript.echo iMinutes

' If Diff > iHours Then
If Diff > iMinutes Then
wscript.echo "Warning: File has not been transfered."
WScript.Quit(1)
Else
wscript.echo "OK: No file in folder older than 5min"
End if

WScript.Quit(0)

Den där borde göra susen.
Citera
2016-05-17, 14:33
  #3
Medlem
Jag hade faktiskt försökt med FileExists kommandot men misslyckats.
Det du fixade gjorde susen. Tack så mycket.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback