Hi Leute Ich habe das Problem das AutoIT den FileDelete Befehl nicht ausführt warum habe ich keine Ahnung BITTE HELFT MIR
[autoit]Func eMail()
$AktuellesDatum = _NowCalc()
$AktuellesDatum = StringReplace($AktuellesDatum, "/", ".")
$AktuellesDatum = StringReplace($AktuellesDatum, ":", "-")
_FileCreate($PfadMailDatei)
$InhaltLogDatei = FileRead($PfadLogDatei)
FileOpen($PfadMailDatei, 1)
FileWriteLine($PfadMailDatei,"To: abt-edv@witty.de")
FileWriteLine($PfadMailDatei,"From: abt-edv@witty.de")
FileWriteLine($PfadMailDatei, $Meldung) ; $Meldung wird durch Funktion Standardmeldung oder Fehlermeldung gesetzt, siehe Kopieren automatisch ja/nein
FileWrite($PfadMailDatei, $InhaltLogDatei)
FileClose($PfadMailDatei)
FileCopy($PfadMailDatei, $PfadArchivMailDatei&$AktuellesDatum&".log",8)
FileDelete($PfadMailDatei)
EndFunc
für Leute die den ganzen Quellcode brauchen :
#cs ----------------------------------------------------------------------------
[/autoit][autoit][/autoit][autoit][/autoit][autoit]Autor: Harald Meißner
Datum: 09.03.2010
Version: 1.0
Funktion: Kopieren der Inhalte des Laufwerks I: um Daten für NB bereitzustellen mit Abfrage Datenmenge
Beschreibung:
#ce ----------------------------------------------------------------------------
#Include <File.au3>
#include <String.au3>
#include <Date.au3>
$Meldung = ""
[/autoit][autoit][/autoit][autoit]$Byte = "Byte"
$Kilobyte = "Kilobyte"
$Megabyte = "Megabyte"
$Gigabyte = "Gigabyte"
$Terabyte = "Terabyte"
$PfadLogDatei = "G:\Skripte\AutoIT\Robocopy_Script\klg.txt"
$PfadMailDatei = "G:\Skripte\AutoIT\Robocopy_Script\Mail.log"
$PfadArchivMailDatei = "G:\Skripte\AutoIT\Robocopy_Script\Archiv\"
$LogDatei = FileOpen($PfadLogDatei,0) ;LogDatei öffnen
[/autoit][autoit][/autoit][autoit][/autoit][autoit]While 1 ;Benötigte Zeile ermitteln
$Zeile = FileReadLine($LogDatei)
$ZeileBytes = StringLeft($Zeile, 11)
If $ZeileBytes = " Bytes :" Then ExitLoop
;MsgBox(0, "in Schleife", $Zeile)
Wend
MsgBox(0, "nach Schleife:", $Zeile)
[/autoit][autoit][/autoit][autoit]$EinheitTotal = StringMid($Zeile, 21, 1) ;Größeneinheit gesamte Datenmenge (in LogDatei Bezeichnung Total)
$EinheitKopiert = StringMid($Zeile, 31, 1) ;Größeneinheit zu kopierende Datenmenge (in LogDatei Bezeichnung Copied)
;MsgBox(0, "Total:", $EinheitTotal)
;MsgBox(0, "Copied:", $EinheitKopiert)
$MengeTotal = StringMid($Zeile, 12, 9) ;Menge Total ermitteln und formatieren
;MsgBox(0, "Menge Total unformatiert", $MengeTotal)
$MengeTotal = StringReplace($MengeTotal, " ", "") ;entfernt Leerzeichen
;MsgBox(0, "Menge Total formatiert", $MengeTotal)
$MengeKopiert = StringMid($Zeile, 22, 9) ;Menge Kopiert ermitteln und formatieren
;MsgBox(0, "Menge Kopiert unformatiert", $MengeKopiert)
$MengeKopiert = StringReplace($MengeKopiert, " ", "") ;entfernt Leerzeichen
;MsgBox(0, "Menge Kopiert formatiert", $MengeKopiert)
EinheitUmbenennen() ;Funktion Umbenennen aufrufen (macht aus b = Byte usw.)
[/autoit][autoit][/autoit][autoit][/autoit][autoit];---------------Kopieren automatisch ja/nein------------------------------------------------
Select ;Festlegen ob automatisch kopiert wird oder nicht. Sollen mehr als 2 MB
Case $EinheitKopiert = "Byte" ;kopiert werden, wird eine Mail an Abt-EDV verschickt.
MsgBox(0,"Kleiner 2 MB", $MengeKopiert & " " & $EinheitKopiert) ;Diese legt dann fest was passiert.
Standardmeldung()
eMail()
Case $EinheitKopiert = "Kilobyte"
MsgBox(0,"Kleiner 2 MB", $MengeKopiert & " " & $EinheitKopiert)
Standardmeldung()
eMail()
Case $EinheitKopiert = "Megabyte" AND $MengeKopiert <= 2
MsgBox(0,"Kleiner Gleich 2 MB", $MengeKopiert & " " & $EinheitKopiert)
Standardmeldung()
eMail()
Case $EinheitKopiert = "Megabyte" AND $MengeKopiert > 2
MsgBox(0,"Größer 2 MB", $MengeKopiert & " " & $EinheitKopiert)
Fehlerdmeldung()
eMail()
Case $EinheitKopiert = "Gigabyte"
MsgBox(0,"Größer 2 MB", $MengeKopiert & " " & $EinheitKopiert)
Fehlerdmeldung()
eMail()
Case $EinheitKopiert = "Terabyte"
MsgBox(0,"Größer 2 MB", $MengeKopiert & " " & $EinheitKopiert)
Fehlerdmeldung()
eMail()
Case Else
EndSelect
FileClose($PfadLogDatei)
[/autoit][autoit][/autoit][autoit][/autoit][autoit];----------------------------------Funktionen-------------------------------------------------------------
Func EinheitUmbenennen() ;Funktion Umbenennen (macht aus b = Byte usw.)
Select
Case $EinheitKopiert = "b"
$EinheitKopiert = "Byte"
Case $EinheitKopiert = "k"
$EinheitKopiert = "Kilobyte"
Case $EinheitKopiert = "m"
$EinheitKopiert = "Megabyte"
Case $EinheitKopiert = "g"
$EinheitKopiert = "Gigabyte"
Case $EinheitKopiert = "t"
$EinheitKopiert = "Terabyte"
Case Else
EndSelect
EndFunc
Func eMail()
$AktuellesDatum = _NowCalc()
$AktuellesDatum = StringReplace($AktuellesDatum, "/", ".")
$AktuellesDatum = StringReplace($AktuellesDatum, ":", "-")
_FileCreate($PfadMailDatei)
$InhaltLogDatei = FileRead($PfadLogDatei)
FileOpen($PfadMailDatei, 1)
FileWriteLine($PfadMailDatei,"To: abt-edv@witty.de")
FileWriteLine($PfadMailDatei,"From: abt-edv@witty.de")
FileWriteLine($PfadMailDatei, $Meldung) ; $Meldung wird durch Funktion Standardmeldung oder Fehlermeldung gesetzt, siehe Kopieren automatisch ja/nein
FileWrite($PfadMailDatei, $InhaltLogDatei)
FileClose($PfadMailDatei)
FileCopy($PfadMailDatei, $PfadArchivMailDatei&$AktuellesDatum&".log",8)
FileDelete($PfadMailDatei)
EndFunc
Func Standardmeldung()
$Meldung = "Subject: Datenmenge <= 2MB (" & $MengeKopiert & " " & $EinheitKopiert & ") "
EndFunc
Func Fehlerdmeldung()
$Meldung = "Subject: FEHLER, Datenmenge > 2MB (" & $MengeKopiert & " " & $EinheitKopiert & ") "
EndFunc
DANKE SCHON MAL IM VORAUS![MSIE_newline_end ]