Ich habs im script drinnen gelassen .... so nach dem Motto hilfts nix schadet es nicht
lg
Ich habs im script drinnen gelassen .... so nach dem Motto hilfts nix schadet es nicht
lg
danke erst mal ![]()
hier mein script:
#include<date.au3>
#include<file.au3>
#include <Date.au3>
#include <Array.au3>
Global $root = IniRead(@ScriptDir &"\Export.ini", "PFADE", "root", "keine Pfad konfiguriert")
Global $CRS = IniRead($root&"\Scripts\Export.ini", "PFADE", "CRS", "keine Pfad konfiguriert")
Global $JACDAT = IniRead($root&"\Scripts\Export.ini", "PFADE", "JACDAT", "keine Pfad konfiguriert")
Dim $feiertage
If Not _FileReadToArray(@ScriptDir &"\feiertage.txt",$feiertage) Then
MsgBox(4096,"Error", " Keine Feiertage eingelesen ")
Exit
EndIf
global $Date = _NowCalcDate()
;~ $check = GUICtrlCreateButton("Check Datum", 10, 190, 150, 20)
check($Date)
[/autoit] [autoit][/autoit] [autoit]Func check($Date)
;2006/12/05 Default Wert
Local $GivenDate = $Date
Do
If _ArraySearch($feiertage, $Date) <> -1 Then $Date = _DateAdd("D", -1, $Date)
Until _ArraySearch($feiertage, $Date) = -1
Local $YearMonthDay = StringSplit($Date, "/")
Local $weekDay = _DateToDayOfWeek($YearMonthDay[1], $YearMonthDay[2], $YearMonthDay[3])
Switch $weekDay
Case 1
$Date = _DateAdd("D", -2, $Date)
Case 7
$Date = _DateAdd("D", -1, $Date)
EndSwitch
$BDate= _DateTimeFormat($GivenDate,2)
$EDate= _DateTimeFormat($Date,2)
IniWrite("C:\time.stamp", "TIME", "Beginn",$BDate)
IniWrite("C:\time.stamp", "TIME", "Ende",$EDate)
MsgBox(0, "Day", "Verarbeitung von : " & $BDate & @CRLF & "wird am " & $EDate & @CRLF & "stattfinden")
EndFunc ;==>check
Exit
[/autoit]
das ist das andere script ![]()
#include <file.au3>
#include <math.au3>
#include <Date.au3>
#include <Array.au3>
$jahr = IniRead(@ScriptDir & "\Export.ini", "FEIERTAGS_JAHR", "FETA", "")
;~ $jahr =2006
$txtFile = "Feiertage.txt"
$Pfad = @ScriptDir & "\" & $txtFile
$arFeiertage = _Feiertage($jahr)
$file = FileOpen($Pfad, 2)
For $i = 0 To UBound($arFeiertage)-1
FileWriteLine($file, $arFeiertage[$i])
Next
FileClose($file)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Funktion _Feiertage($Jahr)
;
; gibt die Feiertage des übergebenen Jahres
; als sortiertes Array[TT.MM.JJJJ \ Feiertag] zurück
; (Trennzeichen veränderbar über Variable: $Delimiter)
;
; Autor BugFix ([email='bugfix@autoit.de'][/email])
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Func _Feiertage($year)
Dim $4AdvDat, $3AdvDat, $2AdvDat, $1AdvDat, $TotSoDat, $BuBDat, $MutterDat, $ErnteDat, $tmp, $Delimiter = "."
Dim $HDays[21]
;fixe Feiertage
$HDays[0] = $year & "/01/01" ;& $Delimiter & "Neujahr"
$HDays[1] = $year & "/01/06" ;& $Delimiter & "Heilige Drei Könige"
$HDays[2] = $year & "/05/01" ;& $Delimiter & "Maifeiertag"
$HDays[3] = $year & "/08/15" ;& $Delimiter & "Mariä Himmelfahrt"
$HDays[4] = $year & "/10/26" ;& $Delimiter & "Nationalfeiertag"
$HDays[5] = $year & "/11/01" ;& $Delimiter & "Allerheiligen"
$HDays[6] = $year & "/12/08" ;& $Delimiter & "Mariä Empfängnis"
$HDays[7] = $year & "/12/25" ;& $Delimiter & "1. Weihnachtsfeiertag"
$HDays[8] = $year & "/12/26" ;& $Delimiter & "2. Weihnachtsfeiertag"
;variable Feiertage
$aa = Mod($year, 19)
$bb = Mod($year, 4)
$cc = Mod($year, 7)
$H1 = Int($year / 100)
$H2 = Int($year / 400)
$N = 4 + $H1 - $H2
$MM = 15 + $H1 - $H2 - _Floor (Int((8 * $H1 + 13) / 25))
$dd = Mod((19 * $aa + $MM), 30)
$ee = Mod((2 * $bb + 4 * $cc + 6 * $dd + $N), 7)
If $dd + $ee = 35 Then
$Easter = 50
Else
If $dd = 28 And $ee = 6 And $aa > 10 Then
$Easter = 49
Else
$Easter = 22 + $dd + $ee
EndIf
EndIf
If $Easter < 32 Then
$EasterDay = $Easter
$EasterMonth = "03"
Else
$EasterDay = $Easter - 31
$EasterMonth = "04"
EndIf
If $EasterDay < 10 Then
$EasterDay = "0" & $EasterDay
EndIf
If $year < 1900 Then ;Datumsoperationen nur mgl. wenn > 1900 , Jahr wird konvertiert
$RestJahr = Mod($year, 100)
If _DateIsLeapYear($year) Then
If $RestJahr < 10 Then
$RestJahr = "0" & $RestJahr
EndIf
$Tempyear = 20 & $RestJahr
Else
If $RestJahr < 10 Then
$RestJahr = "0" & $RestJahr
EndIf
$Tempyear = 19 & $RestJahr
EndIf
$EasterDate = $Tempyear & "/" & $EasterMonth & "/" & $EasterDay
Else
$EasterDate = $year & "/" & $EasterMonth & "/" & $EasterDay
EndIf
$WFastDate = _DateAdd( 'd', -52, $EasterDate)
$RosDat = _DateAdd( 'd', -48, $EasterDate)
$FastDat = _DateAdd( 'd', -47, $EasterDate)
$AschDat = _DateAdd( 'd', -46, $EasterDate)
$GrDoDat = _DateAdd( 'd', -3, $EasterDate)
$KarDat = _DateAdd( 'd', -2, $EasterDate)
$OSaDat = _DateAdd( 'd', -1, $EasterDate)
$OSoDat = $EasterDate
$OMoDat = _DateAdd( 'd', 1, $EasterDate)
$HiFaDat = _DateAdd( 'd', 39, $EasterDate)
$PfSoDat = _DateAdd( 'd', 49, $EasterDate)
$PfMoDat = _DateAdd( 'd', 50, $EasterDate)
$FroDat = _DateAdd( 'd', 60, $EasterDate)
;Ermitteln nicht von Ostern abhängiger, veränderlicher Feiertage
;Muttertag = 2. Sonntag im Mai ABER wenn Pfingsten = 2.Sonntag im Mai dann ist Muttertag am 1. Sonntag
;Der 2. Sonntag kann nur zw. dem 8. u. 14.5. liegen
For $maitag = 8 To 14
If _DateToDayOfWeek($year, 5, $maitag) = 1 Then
If $maitag < 10 Then
$maitag = "0" & $maitag
EndIf
$MutterDat = $year & "/05/" & $maitag
If $MutterDat = $PfSoDat Then
$MutterDat = _DateAdd( 'd', -7, $year & "/05/" & $maitag)
EndIf
ExitLoop
EndIf
Next
;Erntedankfest 1. Sonntag im Oktober (zw. 1. u. 7.10.)
For $oktobertag = 1 To 7
If _DateToDayOfWeek($year, 10, $oktobertag) = 1 Then
$oktobertag = "0" & $oktobertag
$ErnteDat = $year & "/10/" & $oktobertag
ExitLoop
EndIf
Next
;4.Advent = Sonntag vor 25.12. (zw. 18. u. 24.12.)
For $deztag = 18 To 24
If _DateToDayOfWeek($year, 12, $deztag) = 1 Then
$4AdvDat = $year & "/12/" & $deztag
$3AdvDat = _DateAdd( 'd', -7, $4AdvDat)
$2AdvDat = _DateAdd( 'd', -14, $4AdvDat)
$1AdvDat = _DateAdd( 'd', -21, $4AdvDat)
$TotSoDat = _DateAdd( 'd', -28, $4AdvDat)
$BuBDat = _DateAdd( 'd', -32, $4AdvDat)
ExitLoop
EndIf
Next
$HDays[09] = $OSaDat ;& $Delimiter & "Ostersamstag"
$HDays[10] = $OSoDat ;& $Delimiter & "Ostersonntag"
$HDays[11] = $OMoDat ;& $Delimiter & "Ostermontag"
$HDays[12] = $HiFaDat ;& $Delimiter & "Christi Himmelfahrt"
$HDays[13] = $PfSoDat ;& $Delimiter & "Pfingstsonntag"
$HDays[14] = $PfMoDat ;& $Delimiter & "Pfingstmontag"
$HDays[15] = $FroDat ;& $Delimiter & "Fronleichnam"
$HDays[16] = $TotSoDat ;& $Delimiter & "Totensonntag"
$HDays[17] = $1AdvDat ;& $Delimiter & "1. Advent"
$HDays[18] = $2AdvDat ;& $Delimiter & "2. Advent"
$HDays[19] = $3AdvDat ;& $Delimiter & "3. Advent"
$HDays[20] = $4AdvDat ;& $Delimiter & "4. Advent"
_ArraySort($HDays)
;Datum konvertieren zu TT.MM.JJJJ
For $i = 0 To 20
$tmp = StringSplit($HDays[$i], $Delimiter)
$HDays[$i] = StringMid($tmp[1], 1, 4) & "/" & StringMid($tmp[1], 6, 2) & "/" & StringMid($tmp[1], 9) ;& $Delimiter & $tmp[2]
Next
Return $HDays
EndFunc ;==>_Feiertage
was auch noch wäre ist das z.b. der 10.12.06 ein Sonntag und aber der Freitag (08.12.06) ein Feiertag ist.
aber diesen Freitag (Feiertag) berücksichtigt er nicht ![]()
lg
Ja es konnte mir sehr gut weiter helfen
ich musste es umbauen da wir in Austria etwas andere Feiertage haben.
(Nationalfeiertag) dazu
und
(Tag der deutschen Zweisamkeit) weg
aber ich bekomme den 26.11.2006 mit ins output file
dieser ist in Österreich kein Feiertag
kannst mir das noch rausschmeissen ?
lg
TOM
viele grüße aus Wien
Ich will den schon aber es ist ja kein Feiertag also muss es ein Arbeitstag sein ![]()
also darf er nicht in der liste stehen
lg
Hi du hab das ganze auf unsere Österreichischen Feiertage angepasst blos hab ich ein Problem mit einem Datum 26.11.2006 dieses Datum hab ich eigentlich nicht definiert ....
Es stimmen alle Feiertage bis auf den einen dieser ist ein normaler Arbeitstag
#include <file.au3>
#include <math.au3>
#include <Date.au3>
#include <Array.au3>
;~ $jahr = IniRead(@ScriptDir & "\Export.ini", "FEIERTAGS_JAHR", "FETA", "")
;~ $jahr =2006
$txtFile = "Feiertage.txt"
$Pfad = @ScriptDir & "\" & $txtFile
$arFeiertage = _Feiertage(2006)
$file = FileOpen($Pfad, 2)
For $i = 0 To UBound($arFeiertage)-1
FileWriteLine($file, $arFeiertage[$i])
Next
FileClose($file)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Funktion _Feiertage($Jahr)
;
; gibt die Feiertage des übergebenen Jahres
; als sortiertes Array[TT.MM.JJJJ \ Feiertag] zurück
; (Trennzeichen veränderbar über Variable: $Delimiter)
;
; Autor BugFix ([email='bugfix@autoit.de'][/email])
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Func _Feiertage($year)
Dim $4AdvDat, $3AdvDat, $2AdvDat, $1AdvDat, $TotSoDat, $BuBDat, $MutterDat, $ErnteDat, $tmp, $Delimiter = "."
Dim $HDays[21]
;fixe Feiertage
$HDays[0] = $year & "/01/01" ;& $Delimiter & "Neujahr"
$HDays[1] = $year & "/01/06" ;& $Delimiter & "Heilige Drei Könige"
$HDays[2] = $year & "/05/01" ;& $Delimiter & "Maifeiertag"
$HDays[3] = $year & "/08/15" ;& $Delimiter & "Mariä Himmelfahrt"
$HDays[4] = $year & "/10/26" ;& $Delimiter & "Nationalfeiertag"
$HDays[5] = $year & "/11/01" ;& $Delimiter & "Allerheiligen"
$HDays[6] = $year & "/12/08" ;& $Delimiter & "Mariä Empfängnis"
$HDays[7] = $year & "/12/25" ;& $Delimiter & "1. Weihnachtsfeiertag"
$HDays[8] = $year & "/12/26" ;& $Delimiter & "2. Weihnachtsfeiertag"
;variable Feiertage
$aa = Mod($year, 19)
$bb = Mod($year, 4)
$cc = Mod($year, 7)
$H1 = Int($year / 100)
$H2 = Int($year / 400)
$N = 4 + $H1 - $H2
$MM = 15 + $H1 - $H2 - _Floor (Int((8 * $H1 + 13) / 25))
$dd = Mod((19 * $aa + $MM), 30)
$ee = Mod((2 * $bb + 4 * $cc + 6 * $dd + $N), 7)
If $dd + $ee = 35 Then
$Easter = 50
Else
If $dd = 28 And $ee = 6 And $aa > 10 Then
$Easter = 49
Else
$Easter = 22 + $dd + $ee
EndIf
EndIf
If $Easter < 32 Then
$EasterDay = $Easter
$EasterMonth = "03"
Else
$EasterDay = $Easter - 31
$EasterMonth = "04"
EndIf
If $EasterDay < 10 Then
$EasterDay = "0" & $EasterDay
EndIf
If $year < 1900 Then ;Datumsoperationen nur mgl. wenn > 1900 , Jahr wird konvertiert
$RestJahr = Mod($year, 100)
If _DateIsLeapYear($year) Then
If $RestJahr < 10 Then
$RestJahr = "0" & $RestJahr
EndIf
$Tempyear = 20 & $RestJahr
Else
If $RestJahr < 10 Then
$RestJahr = "0" & $RestJahr
EndIf
$Tempyear = 19 & $RestJahr
EndIf
$EasterDate = $Tempyear & "/" & $EasterMonth & "/" & $EasterDay
Else
$EasterDate = $year & "/" & $EasterMonth & "/" & $EasterDay
EndIf
$WFastDate = _DateAdd( 'd', -52, $EasterDate)
$RosDat = _DateAdd( 'd', -48, $EasterDate)
$FastDat = _DateAdd( 'd', -47, $EasterDate)
$AschDat = _DateAdd( 'd', -46, $EasterDate)
$GrDoDat = _DateAdd( 'd', -3, $EasterDate)
$KarDat = _DateAdd( 'd', -2, $EasterDate)
$OSaDat = _DateAdd( 'd', -1, $EasterDate)
$OSoDat = $EasterDate
$OMoDat = _DateAdd( 'd', 1, $EasterDate)
$HiFaDat = _DateAdd( 'd', 39, $EasterDate)
$PfSoDat = _DateAdd( 'd', 49, $EasterDate)
$PfMoDat = _DateAdd( 'd', 50, $EasterDate)
$FroDat = _DateAdd( 'd', 60, $EasterDate)
;Ermitteln nicht von Ostern abhängiger, veränderlicher Feiertage
;Muttertag = 2. Sonntag im Mai ABER wenn Pfingsten = 2.Sonntag im Mai dann ist Muttertag am 1. Sonntag
;Der 2. Sonntag kann nur zw. dem 8. u. 14.5. liegen
For $maitag = 8 To 14
If _DateToDayOfWeek($year, 5, $maitag) = 1 Then
If $maitag < 10 Then
$maitag = "0" & $maitag
EndIf
$MutterDat = $year & "/05/" & $maitag
If $MutterDat = $PfSoDat Then
$MutterDat = _DateAdd( 'd', -7, $year & "/05/" & $maitag)
EndIf
ExitLoop
EndIf
Next
;Erntedankfest 1. Sonntag im Oktober (zw. 1. u. 7.10.)
For $oktobertag = 1 To 7
If _DateToDayOfWeek($year, 10, $oktobertag) = 1 Then
$oktobertag = "0" & $oktobertag
$ErnteDat = $year & "/10/" & $oktobertag
ExitLoop
EndIf
Next
;4.Advent = Sonntag vor 25.12. (zw. 18. u. 24.12.)
For $deztag = 18 To 24
If _DateToDayOfWeek($year, 12, $deztag) = 1 Then
$4AdvDat = $year & "/12/" & $deztag
$3AdvDat = _DateAdd( 'd', -7, $4AdvDat)
$2AdvDat = _DateAdd( 'd', -14, $4AdvDat)
$1AdvDat = _DateAdd( 'd', -21, $4AdvDat)
$TotSoDat = _DateAdd( 'd', -28, $4AdvDat)
$BuBDat = _DateAdd( 'd', -32, $4AdvDat)
ExitLoop
EndIf
Next
$HDays[09] = $OSaDat ;& $Delimiter & "Ostersamstag"
$HDays[10] = $OSoDat ;& $Delimiter & "Ostersonntag"
$HDays[11] = $OMoDat ;& $Delimiter & "Ostermontag"
$HDays[12] = $HiFaDat ;& $Delimiter & "Christi Himmelfahrt"
$HDays[13] = $PfSoDat ;& $Delimiter & "Pfingstsonntag"
$HDays[14] = $PfMoDat ;& $Delimiter & "Pfingstmontag"
$HDays[15] = $FroDat ;& $Delimiter & "Fronleichnam"
$HDays[16] = $TotSoDat ;& $Delimiter & "Totensonntag"
$HDays[17] = $1AdvDat ;& $Delimiter & "1. Advent"
$HDays[18] = $2AdvDat ;& $Delimiter & "2. Advent"
$HDays[19] = $3AdvDat ;& $Delimiter & "3. Advent"
$HDays[20] = $4AdvDat ;& $Delimiter & "4. Advent"
_ArraySort($HDays)
;Datum konvertieren zu TT.MM.JJJJ
For $i = 0 To 20
$tmp = StringSplit($HDays[$i], $Delimiter)
$HDays[$i] = StringMid($tmp[1], 9) & "." & StringMid($tmp[1], 6, 2) & "." & StringMid($tmp[1], 1, 4) ;& $Delimiter & $tmp[2]
Next
Return $HDays
EndFunc ;==>_Feiertage
Ich bekomme einen Feiertag den ich nicht definiert habe ![]()
Feiertag.txt
[autoit][/autoit] [autoit][/autoit] [autoit]01.01.2006
06.01.2006
15.04.2006
16.04.2006
17.04.2006
01.05.2006
25.05.2006
04.06.2006
05.06.2006
15.06.2006
15.08.2006
26.10.2006
01.11.2006
26.11.2006
03.12.2006
08.12.2006
10.12.2006
17.12.2006
24.12.2006
25.12.2006
26.12.2006
Hallo Leute,
ich brauch dringend eure Hilfe: (muss mit dem Script spätestens am Mittwoch online gehen)
Ich muss ein Script schreiben das das Journal Datum einen Tag vor dem Feiertag setzt.
zur Erklärung Journal Datum: das Journal wird in eine Datei exportiert. wir müssten vorher manuell das von und das bis Datum eingeben.
(von einen Tag vorm Feiertag bis jetzigen Arbeitstag z.B. von 24.12.2006 bis 27.12.2006 !! ACHTUNG: Wochenende also nicht vom 24.12.2006 sondern, durch das Wochenende bedingt vom 22.12.2006)
das gleiche ist am Wochenende: wenn Sonntag das Script läuft muss das von Datum auf Freitag gesetzt werden. (von Freitag bis Sonntag)
dies will ich automatisieren.
diese Script soll von Sonntag bis Freitag Nacht laufen.
die Feiertage sollten in einer Feiertage.txt stehen oder (evtl. automatisch berechnet werden)
so mein angefangenes Script:
Global $root = IniRead(@ScriptDir &"\Export.ini", "PFADE", "root", "keine Pfad konfiguriert")
Global $CRS = IniRead($root&"\Scripts\Export.ini", "PFADE", "CRS", "keine Pfad konfiguriert")
Global $JACDAT = IniRead($root&"\Scripts\Export.ini", "PFADE", "JACDAT", "keine Pfad konfiguriert")
Global $feita = IniRead($root&"\time.stamp", "Feiertag", "Beginn", "keine Pfad konfiguriert")
;-Time.wbt------------------------------------------------------------------------;
; Sicherung des Beginndatums in einer TMP Datei ;
;---------------------------------------------------------------------------------------;
;-Errechnung des Belegdatums----------------------------------------------------------------------------;
;Errechnung des Wochentags
$WOTAG = _DateDayOfWeek( @WDAY, 1 )
[/autoit] [autoit][/autoit] [autoit];Errechnung des Feiertagdatums
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$path = @ScriptDir & "\Feiertage.txt"
[/autoit] [autoit][/autoit] [autoit]If _isFeiertag($path) = 1 Then
[/autoit] [autoit][/autoit] [autoit];~ $sNewDate = _DateAdd( 'd',-1, _NowCalcDate())
;~ $FDate= _DateTimeFormat($sNewDate,2)
;~ IniWrite($root&"\time.stamp", "Feiertag", "Beginn",$FDate)
;~ $FENDate= _DateTimeFormat(_NowCalcDate(),2)
;~ IniWrite($root&"\time.stamp", "Feiertag", "Ende",$FENDate)
;~ MsgBox(64, "Heute ausführen?", "Nein es ist Feiertag")
Else
;~ Errechnung des Beginndatum
If $WOTAG = "Son" THEN
$sNewDate = _DateAdd( 'd',-2, _NowCalcDate())
$BDate= _DateTimeFormat($sNewDate,2)
IniWrite($root&"\time.stamp", "TIME", "Beginn",$BDate)
else
$BNDate= _DateTimeFormat( _NowCalcDate(),2)
IniWrite($root&"\time.stamp", "TIME", "Beginn",$BNDate)
Endif
;Errechnung des Enddatum
[/autoit] [autoit][/autoit] [autoit]$ENDate= _DateTimeFormat( _NowCalcDate(),2)
IniWrite($root&"\time.stamp", "TIME", "Ende",$ENDate)
;~ MsgBox(64, "Heute ausführen?", "Ja")
EndIf
Func _isFeiertag($s_path)
global $dates
If Not _FileReadToArray($s_path, $dates) Then Return -1
For $i = 1 To $dates[0]
If $dates[$i] = _NowDate() Then
Return 1
EndIf
Next
Return 0
EndFunc ;==>_isFeiertag
Feiertags.txt
z.B.:
04.12.2006
05.12.2006
08.12.2006
25.12.2006
26.12.2006
01.01.2007
time.stamp:
[TIME]
Beginn=04.12.2006
Ende=04.12.2006
[Feiertag]
Beginn=
Ende=
ZitatAlles anzeigenOriginal von th.meger
Hi,also:
Wo guckst du, wann die Verarbeitung war?
es komt eine GUI die sagt z.B. "MIS Verarbeitung fertig", ansonsten kann man im Jack.log nachschauen
Läuft es so?
1. In einer Datei gucken, von welchen Tag sie ist
2. den Tag wie oben beschrieben zurücksetzen?Ich weiß noch nicht, was du eigentlich machen mußt?
So long,
Mega
PS Vielleicht per ICQ
Hi du,
dieses script ist ein teil eines anderen scriptes.
so das haupt script:
;-FAIRCOMS.WBT--------------------------------------------------------------------------;
; ;
; Die FAIRCOMS Datenbank auf dem JACK1 Server wird vor der NT Sicherung (NTBACKUP) ;
; beendet. Nach der Sicherung wird die Datenbank wieder gestartet. ;
; ;
;---------------------------------------------------------------------------------------;
RunWait(Environment("COMSPEC"), "/c echo START BATCH VERARBEITUNG >>D:\Jack1.log")
RunWait(Environment("COMSPEC"), "/c time /T >>D:\Jack1.log")
DirChange("D:")
[/autoit] [autoit][/autoit] [autoit];-Time.wbt-------------------------------------------------------------------------------;
Call("\WBTFiles\Time.wbt", 0)
;-CopyJackEnd.bat------------------------------------------------------------------------;
RunWait(Environment("COMSPEC"), "/c echo CopyJackEnd >>D:\Jack1.log")
RunWait(Environment("COMSPEC"), "/c time /T >>D:\Jack1.log")
RunWait("\CopyJackEnd.bat","")
Delay(900)
;Delay(15)
;-DeleteJackEnd.bat----------------------------------------------------------------------;
RunWait(Environment("COMSPEC"), "/c echo DeleteJackEnd.bat >>D:\Jack1.log")
RunWait(Environment("COMSPEC"), "/c time /T >>D:\Jack1.log")
RunWait("\DeleteJackEnd.bat","")
Delay(15)
;-FileDelete.wbt-------------------------------------------------------------------------;
[/autoit] [autoit][/autoit] [autoit]Call("\WBTFiles\FileDelete.wbt", 0)
[/autoit] [autoit][/autoit] [autoit]WinActivate("FAIRCOMS - FairCom")
Delay(5)
SendKey("!c")
Delay(5)
SendKey("s")
Delay(5)
;-Administrator User-------------------------------------------------------------------;
ClipPut("ADMIN")
SendKey("^v")
Delay(5)
;-Password-----------------------------------------------------------------------------;
SendKey("{TAB}")
Delay(5)
ClipPut("******")
Delay(5)
SendKey("^v")
Delay(5)
SendKey("{Enter}")
Delay(5)
SendKey("{Enter}")
Delay(30)
[/autoit] [autoit][/autoit] [autoit]If WinExist("FairCom") == @TRUE
Delay(5)
SendKey("!c")
Delay(5)
SendKey("s")
Delay(5)
ClipPut("ADMIN")
Delay(5)
SendKey("^v")
Delay(5)
SendKey("{Enter}")
Delay(5)
SendKey("{TAB}")
Delay(5)
SendKey("{Enter}")
Delay(30)
EndIf
Delay(30)
[/autoit] [autoit][/autoit] [autoit];-Rebuild-------------------------------------------------------------------------------;
[/autoit] [autoit][/autoit] [autoit];Call("\WBTFiles\Rebuild_01.wbt", 0)
;---------------------------------------------------------------------------------------;
RunWait("\WBTFiles\Save_NACH_Rebuild.bat","")
Delay(15)
;---------------------------------------------------------------------------------------;
RunWait("\WBTFiles\Säuberung v JackDat.bat","")
;---------------------------------------------------------------------------------------;
;-MIS-Übernahme OHNE FAIRCOMS - Datenbank-----------------------------------------------;
Call("\WBTFiles\MIS.wbt", 0)
;---------------------------------------------------------------------------------------;
;-tägliches Saldenerneuern und Komplettrebuild -----------------------------------------;
Call("\WBTfiles\Salden_Rebuild\Salden_Rebuild.wbt", 0)
;---------------------------------------------------------------------------------------;
Delay(10)
DirChange("\JackDat")
Delay(5)
Run("Ctsrvr.exe","")
Delay(20)
Run("\WBTfiles\SendSMS.exe", "")
;---------------------------------------------------------------------------------------;
RunWait(Environment("COMSPEC"), "/c echo ENDE BATCH VERARBEITUNG >>D:\Jack1.log")
RunWait(Environment("COMSPEC"), "/c time /T >>D:\Jack1.log")
Return
[/autoit]so vielcith kann dir das weiter helfen
das Script macht die nächtlichen Wartungsarbeiten bei unserem Jack (Reisebüroverwaltungsprogramm)
lg
Das steht in der Feiertag.TXT drinnen
[autoit];Aktivierung des Beginn/Enddatum
Deaktivierung des Beginn/Enddatum
14.08.2006
15.08.2006
Ich würde aber gerne alle österreichischen Feiertage in diese Feiertag.TXT reintun da der Vergessensfaktor bei uns in der Abteilung sehr hoch ist
lg
Dieses Script setzt einen TimeStamp für eine Datenüberleitung.
d.H.
wenn Dienstag die Verarbeitung war setzt er den TimeStamp auf Montag (Die Montag Daten sollen übergeleitet werden)
Mo --> Fr - Sa - So
Di --> Mo
Mi --> Di
Do --> Mi
Fr --> Do
wenn Montag die Überleitung Ist dann soll er die Daten von Fr. bis Sonntag Überleiten
diese Daten brauchen wir für ein Journal export
kann mir keiner helfen ??
wie kann ich dieses WINBATCHScript in ein Autoit Script umsetzen ?
;-Time.wbt------------------------------------------------------------------------;
; Sicherung des Beginndatums in einer TMP Datei ;
;---------------------------------------------------------------------------------------;
;-Errechnung des Belegdatums----------------------------------------------------------------------------;
;Errechnung des Wochentags
a=TimeYmdHms( )
;Korrektur des Datums aufgrund Batchbeginn am nächsten Tag;
;a=TimeSubtract(a, "0000:00:01:00:00:00")
;message ("Zeit", a);
b=TimeJulianDay(a)
c=(b+5) mod 7
Wochentag = ItemExtract(c+1, "SON MON DIE MIT DON FRE SAM", " ")
;Errechnung des Beginndatum
If Wochentag == "SON" THEN
newtime=TimeSubtract(a, "0000:00:00:48:00:00")
Jahr = StrSub(newtime, 1, 4)
Monat = StrSub(newtime, 6, 2)
Tag = StrSub(newtime, 9, 2)
Beginndatum = StrCat(Tag,".",Monat,".",Jahr)
Delay(1)
else
newtime=TimeSubtract(a, "0000:00:00:00:00:00")
Jahr = StrSub(newtime, 1, 4)
Monat = StrSub(newtime, 6, 2)
Tag = StrSub(newtime, 9, 2)
Beginndatum = StrCat(Tag,".",Monat,".",Jahr)
Delay(1)
Endif
;Errechnung des Enddatum
newtime=TimeSubtract(a, "0000:00:00:00:00:00")
Jahr = StrSub(newtime, 1, 4)
Monat = StrSub(newtime, 6, 2)
Tag = StrSub(newtime, 9, 2)
Enddatum = StrCat(Tag,".",Monat,".",Jahr)
Delay(1)
;Errechnung des Feiertagdatums
Feiertag = ""
Feiertagflag = "NEIN"
;message ("Beginndatum", Beginndatum);
;message ("Enddatum", Enddatum);
fHandle = FileOpen("\WBTfiles\Feiertag.txt", "READ")
While @TRUE
Feiertag = FileRead(fHandle)
If Feiertag == "*EOF*" Then Break
ClipPut(Feiertag)
If Feiertag == ";Deaktivierung des Beginn/Enddatum" then
Beginndatum = FileRead(fHandle)
Feiertagflag = "JA"
Enddatum = FileRead(fHandle)
Endif
Endwhile
FileClose(fHandle)
;-Sicherung in einer TMP Datei-------------------------------------------------------------------------------;
handle = FileOpen("\Time.tmp", "WRITE")
FileWrite(handle, Beginndatum)
FileWrite(handle, Enddatum)
If Feiertagflag == "NEIN" then
FileWrite(handle, Wochentag)
Endif
If Feiertagflag == "JA" then
FileWrite(handle, "Das Beginn/Enddatum wurde aus der Datei Feiertag.txt ausgelesen.")
Endif
FileClose(handle)
Return
Ich will die Firma vom Winbatch script abbringen ( ZU TEUER!!!!!!!, zu langsam, unhandlich, kein Compiler) und AutoI3 Scripte einführen,
da ich ein neuling (Jungspund in Sachen scripten) bin, brauch ich eure Hilfe.
Ich hab einfache scripts schon umgesetzt aber komplizierte und Komplexe sind noch etwas undurchsichtig ..... Ich brauch leider erst ein paar beispiele um es wirklich zu lernen (behirnen) .......
Danke für eure Hilfe
TOM
Danke es funzt.....
danke für die Hilfe
Hmm leider steh ich auf dem Schlauch ... quirx im Hirn
Hi @ all
wie kann ich in meinem script festlegen, dass ein Programmschritt an einem Feitertag nicht ausgeführt wird (ich hab dazu eine Feiertag.txt in der alle Feiertage hinterlegt sind)
Schritte :
wenn ein (aktuelles datum) Tag aus der liste (Feitertagsdatum) FEIERTAG.TXT ist dann führe den Programmschritt
nicht aus und springe zum nächsten Programmschritt....
:hm:
danke für die hilfe
Danke für eure Hilfe :stolz_bin:
:schild4:
hat alles funktioniert
danke
danke für dein script aber dies verurscht zuviel lasst auf unserem NW ![]()
ich hab mittlierweile alle UNC pfade aller MA in einer TXT datei. wie kann ich die auslesen damit ich die .PST Dateigröße bekomme....
in einem Logfile :
user.name = outlook.pst = 5000 KB
user.name2 = outlook.pst = 5000 KB
user.name3 = outlook.pst = 5000 KB
danke
TOM aus Wien
Hi @ all
ich muss bei ca. 500 Mitarbeitern die File größe einer bestimmten Datei (outlook.pst) bestimmuen und diese in einem Logfile auslesen.
die user sind auf ca. 200 FilialservernServern mit ihrem persönlichen Verzeichniss gespeichert.
es geht darum dass wir die User hinweisen müssen die Mails zu reduzieren weil wir eine Umstellung von einem Linux Mailserver auf Exchange vorhaben. (das muss sein wei der Linux server nicht ordentlich funktioniert)
Die Datei ist auf den Filialserver so abgelegt:
\\server\homeshare\user.name\outlook.pst
der servername ist bekannt und der user ist bekannt (jeweils in einer .txt datei)
Mein Problem ist ich bin ein ziemlicher newbie in sachen probrammieren und muss die Aufgabe bis Montag erledigen.
danke für die hilfe :help:
danke so mach ich es auch
lg