2011-06-17, 09:49
#1
Hej,
Brukar normalt inte leka med vbscript, men nu har jag ett problem jag måste lösa i vb på grund av att maskinen har detta installerat på sig från början.
Får in ett datum format i en sträng som ser ut så här "Monday, Mars 30, 2011 at 2:00 PM:". Behöver konvertera detta till ett format som funkar med windows scheduletask enligt nedan.
schtasks.exe /F /Create /tn set_maintmode /tr "scriptname" /sc once /st 02:00:00 /sd 05/30/2011 /RU System
Sen använda variabeln tDate och Clock
Fungerar utmärkt på min PC. Men så fort byter dator är det annan cultureinfo så det är inte säkert att formatet från CDate blir rätt. Hur skjuton löser man det? Hittar ingen function i vbscript där man kan skicka med cultureinfo eller om det går sätta en enviroment variabel i dos prompten programet kör i för alltid få datum formatet rätt på alla maskiner? Hoppas att någon har kompetens nog att kunna detta problem.
Brukar normalt inte leka med vbscript, men nu har jag ett problem jag måste lösa i vb på grund av att maskinen har detta installerat på sig från början.
Får in ett datum format i en sträng som ser ut så här "Monday, Mars 30, 2011 at 2:00 PM:". Behöver konvertera detta till ett format som funkar med windows scheduletask enligt nedan.
schtasks.exe /F /Create /tn set_maintmode /tr "scriptname" /sc once /st 02:00:00 /sd 05/30/2011 /RU System
Kod:
myDate="Monday, Mars 30, 2011 at 2:00 PM:" a=Split(myDate,",") MonthDay=trim(a(1)) YearTime=trim(a(2)) a=Split(MonthDay) Month=trim(a(0)) Day=trim(a(1)) a=Split(YearTime) Year=trim(a(0)) Clock=trim(a(2)) Gr=trim(a(3)) Clock=Clock & ":00" & " " & Replace(Gr,":","") Clock=CDate(Clock) newDate = MonthDay & ", " & Year newDate=CDate(newDate) a=Split(newDate,"-") Year=trim(a(0)) Month=trim(a(1)) Day=trim(a(2)) tDate=Month & "/" & Day & "/" & Year
Sen använda variabeln tDate och Clock
Fungerar utmärkt på min PC. Men så fort byter dator är det annan cultureinfo så det är inte säkert att formatet från CDate blir rätt. Hur skjuton löser man det? Hittar ingen function i vbscript där man kan skicka med cultureinfo eller om det går sätta en enviroment variabel i dos prompten programet kör i för alltid få datum formatet rätt på alla maskiner? Hoppas att någon har kompetens nog att kunna detta problem.
kanske får försöka hitta något liknande i vbscript som try catch block och testa med olika format tills något sitter. Jävligt fult dock.