atari píše:Použití funkce „cint“ už tady ukázal zeus. Už jsme na to přišel. Objekt „GetFileSIze“ prostě VBScript nepodporuje.
Nejde o cint, mel jsi to cele blbe. GetFileSize opravdu neumi, sam jsi na to odkazoval.
Z prikladu jsi to pochopil?
atari píše:Použití funkce „cint“ už tady ukázal zeus. Už jsme na to přišel. Objekt „GetFileSIze“ prostě VBScript nepodporuje.
atari píše:S těmi objekty jsem to už pochopil, popsal jsi to jednoduše a stručně.
Ale WMI neznán, nevím co to je (asi to pro moji prácí není potřeba). Co jsou kolekce zhruba tuším (například více stejných objektů sdružených do kolekce), ale nikdy jsem s nimi nepracoval. SQL dotazy také neznám, a nevím co to je.
Jak jsem psal, BAT dávky přestaly být postačujicí, takže hledám výkonnější nástroj. Moje zaměření je zálohování a archivace, takže tam objekty rozhodně budu potřebovat znát (soubory, složky, oddíly) a to ostatní nevím. Uvidíme do budoucna, jestli mě potkají kolekce nebo to další.
Kód: Vybrat vše
'**********************************
'* Script testuje stav služby *
'* Phone *
'* Pokud služba neběží, pokusí *
'* se ji spustit (6x) *
'* Zapisuje do logu *
'* D:\ScriptLog\tstsrv.txt *
'* Etienn@Script v. 2.0 *
'**********************************
'
Option Explicit
Dim strComputer, objWMIService, a, colRunningServices, objService, fso
Dim WshNet, txtStream, radek, ForAppend
Const LogFile = "D:\ScriptLog\tstsrv.txt"
ForAppend = 8
' nastavení objektů k přístupu k síti a souboru'
Set WshNet = WScript.CreateObject("WScript.Network")
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
' Zápis prvního řádku do logu
Set txtStream = fso.OpenTextFile(LogFile, ForAppend, True)
radek = "Start systému - " & WeekdayName(Weekday(Now()), False, 1) & _
", " & Date & ", " & Time
txtStream.WriteLine ""
txtStream.WriteLine radek
' zápis sítě do logu
txtStream.WriteLine Time & vbTab & WshNet.ComputerName
WScript.Sleep 25000 ' počáteční zpoždění
On Error Resume Next ' nereaguj na chyby
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
a = 1
Do Until a = 6
Set colRunningServices = objWMIService.ExecQuery("Select * from Win32_Service Where Name = 'Phone'")
For Each objService in colRunningServices
' Wscript.Echo objService.DisplayName & VbTab & objService.State
txtStream.WriteLine Time & vbTab & WshNet.ComputerName
txtStream.WriteLine Time & vbTab & objService.DisplayName & VbTab & objService.State & vbTab & a & ". pokus"
If objService.State <> "Running" Then
' WScript.Echo "Neběží"
objService.StartService
Else
' WScript.Echo "Běží"
Exit Do
End If
Next
a = a + 1
WScript.Sleep 6000
Loop
txtStream.Close
Set objWMIService = Nothing
Set fso = Nothing
Set WshNet = Nothing
Zpět na “Programování a tvorba webu”
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 6 hostů