27. marts 2007 - 10:36Der er
6 kommentarer og 1 løsning
Teste på en fil ud fra alder
Hej!
Jeg har følgende kørende i dag: ----------------------------------------
Context.LogMessage "Checking Address=" & Context.GetProperty("Address") Context.SetResult 0, "File Does Not Exist. No Action Required" strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colFiles = objWMIService.ExecQuery _ ("Select * From CIM_Datafile Where Name = 'D:\\Test\\Test.txt'") If colFiles.Count > 0 Then Context.SetResult 1, "File Exists. Please Clear Files" End If --------------------------------
Nu har jeg brug for at kunne bruge den samme metode til at teste en fil's alder.
strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colFiles = objWMIService.ExecQuery _ ("Select * From CIM_Datafile Where Name = 'c:\\Scripts\\medlemskaber.txt'") For Each objFile in colFiles strFileAge = ConvertDT(objFile.CreationDate) 'wscript.echo strFileAge & "<" & now If strFileAge < now Then Wscript.Echo strFileAge End If Next
Function ConvertDT(strDT) ' On Error Resume Next
Dim objTime Set objTime = CreateObject("WbemScripting.SWbemDateTime") objTime.Value = strDT ConvertDT = objTime.GetVarDate 'convert UTC to Standard Time; from 20070202230659.500000-480 to 2/2/2007 11:06:59 PM End Function
det skal finpudses for den tjekker kun på om den er ældre end idag nu, men den kan laves om så den er som du godt vil have den..
Jeg kunne da ikke dy mig alligevel jeg fandt frem til hvordan det skulle gøres fandt ud af jeg havde et gammelt script der fandt frem til fra en dato til nu i sekunder...
'Context.LogMessage "Checking Address=" & Context.GetProperty("Address") 'Context.SetResult 0, "File Does Not Exist. No Action Required" strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colFiles = objWMIService.ExecQuery _ ("Select * From CIM_Datafile Where Name = 'c:\\Scripts\\medlemskaber.txt'") For Each objFile in colFiles strFileAge = ConvertDT(objFile.CreationDate) StrCompare = trim(DateDiff("s", strFileAge,now)) 'dette er for at finde ud af hvor mange sekunder der fra createddate til nu If StrCompare < "500" = true Then Wscript.Echo StrCompare & " < 500" End If Next
Function ConvertDT(strDT) ' On Error Resume Next Dim objTime Set objTime = CreateObject("WbemScripting.SWbemDateTime") objTime.Value = strDT ConvertDT = objTime.GetVarDate 'convert UTC to Standard Time; from 20070202230659.500000-480 to 2/2/2007 11:06:59 PM End Function
her har du hvad du skal bruge håber du kan bruge det til noget...
Jeg er ikke helt med på hvad du kan bruge den der context ting der til for jeg kan ikke finde noget nogen steder der beskriver den... ud over hvis det er en const, hvilket det jo ikke er her (medmindre der er mere i scriptet end vi ser.. :D )
Ha ha sådan går det når musikken spiller og man laver andre ting.. :D det går nok er da bare glad for at kunne hjælpe... :D
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.