Mehrere Fragen

  • Hi Leute,

    ich habe vor einigen Tagen AutoIT entdeckt und mir gedacht, ich könnte mich ja mal dran versuchen.

    Ich habe auch schon einen Versuch gemacht mein Batch Skript in eine au3 umzubauen.

    Nur hab ich das Gefühl es geht auch einfacher :)

    1. Wie kann ich diese ganzen FileWriteLine umgehen?
    (kann ich in diesen Text die Variablen vorher definieren?)

    2. Wie kann ich Abfragen ob der Befehl "FileMove" richtig ohne Fehler gelaufen ist?


    Vielleicht hat ja einer lust sich das mal anzuschauen :)

    [autoit][/autoit][autoit][/autoit][autoit]

    ;HTML Kopfdaten schreiben
    FileWriteLine("test.html",'<TABLE BORDER="1">')
    FileWriteLine("test.html",' <TD WIDTH="70"> <FONT SIZE="1", FACE="VERDANA"> <B> Rechner: </B> </TD>')
    FileWriteLine("test.html",' <TD WIDTH="100"> <FONT SIZE="1", FACE="VERDANA"> %RECHNER% </TD>')
    FileWriteLine("test.html",' <TD WIDTH="80"> <FONT SIZE="1", FACE="VERDANA"> <B> IP-Adresse: </B> </TD>')
    FileWriteLine("test.html",' <TD WIDTH="100"> <FONT SIZE="1", FACE="VERDANA"> %IP-ADDR% </TD>')
    FileWriteLine("test.html",' <TD WIDTH="50"> <FONT SIZE="1", FACE="VERDANA"> <B> Task: </B> </TD>')
    FileWriteLine("test.html",' <TD WIDTH="150"> <FONT SIZE="1", FACE="VERDANA"> %TASK% </TD>')
    FileWriteLine("test.html",' <TD WIDTH="100"> <FONT SIZE="1", FACE="VERDANA"> <B> Startzeitpunkt: </B> </TD>')
    FileWriteLine("test.html",' <TD WIDTH="200"> <FONT SIZE="1", FACE="VERDANA"> %START% </TD>')
    FileWriteLine("test.html",'</TR>')
    FileWriteLine("test.html",'</TABLE>')
    FileWriteLine("test.html",'')
    FileWriteLine("test.html",'<TABLE BORDER="1">')
    FileWriteLine("test.html",'<TR>')
    FileWriteLine("test.html",' <TD WIDTH="80"> <FONT SIZE="1", FACE="VERDANA"> <B> Batchprozeß: </B> </TD>')
    FileWriteLine("test.html",' <TD WIDTH="90"> <FONT SIZE="1", FACE="VERDANA"> %BATCH% </TD>')
    FileWriteLine("test.html",' <TD WIDTH="192"> <FONT SIZE="1", FACE="VERDANA"> <B> Zu sichernde Datenbestände: </B> </TD>')
    FileWriteLine("test.html",' <TD WIDTH="200"> <FONT SIZE="1", FACE="VERDANA"> %VERZ_Q% </TD>')
    FileWriteLine("test.html",' <TD WIDTH="100"> <FONT SIZE="1", FACE="VERDANA"> <B> Zielverzeichnis: </B> </TD>')
    FileWriteLine("test.html",' <TD WIDTH="200"> <FONT SIZE="1", FACE="VERDANA"> %VERZ_Z% </TD>')
    FileWriteLine("test.html",'</TR>')
    FileWriteLine("test.html",'</TABLE>')
    FileWriteLine("test.html",'<TABLE BORDER="0">')
    FileWriteLine("test.html",'')
    FileWriteLine("test.html",'%date% %time% Beginne mit dem verschieben der PDFs')
    FileWriteLine("test.html",'')
    FileWriteLine("test.html",'<TR>')
    FileWriteLine("test.html",' <TD WIDTH="100"> <FONT SIZE="1", FACE="VERDANA", COLOR="#000099"> <B> %DATE% </B> </TD>')
    FileWriteLine("test.html",' <TD WIDTH="100"> <FONT SIZE="1", FACE="VERDANA", COLOR="#000099"> <B> %TIME% </B> </TD>')
    FileWriteLine("test.html",' <TD WIDTH="600"> <FONT SIZE="1", FACE="VERDANA", COLOR="#000099"> <B>')
    FileWriteLine("test.html",' Beginne mit dem verschieben der PDFs </B> </TD>')
    FileWriteLine("test.html",'</TR>')

    [/autoit][autoit][/autoit][autoit]

    ;Ordner erstellen
    DirCreate("C:\autoit\pdf\test")

    [/autoit][autoit][/autoit][autoit]

    FileWriteLine("test.html",'<TR>')
    FileWriteLine("test.html",' <TD WIDTH="100"> <FONT SIZE="1", FACE="VERDANA"> %DATE% </TD>')
    FileWriteLine("test.html",' <TD WIDTH="100"> <FONT SIZE="1", FACE="VERDANA"> %TIME% </TD>')
    FileWriteLine("test.html",' <TD WIDTH="600"> <FONT SIZE="1", FACE="VERDANA">')
    FileWriteLine("test.html",' Verschieben der PDFs auf c:\autoit\pdf\test </TD>')
    FileWriteLine("test.html",'</TR>')

    [/autoit][autoit][/autoit][autoit]

    FileMove("c:\autoit\*.pdf" , "c:\autoit\pdf\test\")

    [/autoit][autoit][/autoit][autoit]

    ;Ohne Fehler dann ->

    [/autoit][autoit][/autoit][autoit]

    FileWriteLine("test.html",'')
    FileWriteLine("test.html",'%date% %time% verschieben erfolgreich beendet')
    FileWriteLine("test.html",'')
    FileWriteLine("test.html",'<TR>')
    FileWriteLine("test.html",' <TD WIDTH="100"> <FONT SIZE="2", FACE="VERDANA", COLOR="#000099"> <B> %DATE% </B> </TD>')
    FileWriteLine("test.html",' <TD WIDTH="100"> <FONT SIZE="2", FACE="VERDANA", COLOR="#000099"> <B> %TIME% </B> </TD>')
    FileWriteLine("test.html",' <TD WIDTH="600"> <FONT SIZE="2", FACE="VERDANA", COLOR="#000099"> <B>')
    FileWriteLine("test.html",' Verschieben der PDFs ist beendet </B> </TD>')
    FileWriteLine("test.html",'</TR>')
    FileWriteLine("test.html",'</TABLE>')
    FileWriteLine("test.html",'<P>')
    FileWriteLine("test.html",'<BR>')
    FileWriteLine("test.html",'')

    [/autoit][autoit][/autoit][autoit]

    ;Fehler aufgetreten ->

    [/autoit][autoit][/autoit][autoit]

    FileWriteLine("test.html",'')
    FileWriteLine("test.html",'%date% %time% verschieben NICHT erfolgreich beendet')
    FileWriteLine("test.html",'')
    FileWriteLine("test.html",'<TR>')
    FileWriteLine("test.html",' <TD WIDTH="100"> <FONT SIZE="2", FACE="VERDANA", COLOR="#FF0000"> <B> %DATE% </B> </TD>')
    FileWriteLine("test.html",' <TD WIDTH="100"> <FONT SIZE="2", FACE="VERDANA", COLOR="#FF0000"> <B> %TIME% </B> </TD>')
    FileWriteLine("test.html",' <TD WIDTH="600"> <FONT SIZE="2", FACE="VERDANA", COLOR="#FF0000"> <B>')
    FileWriteLine("test.html",' Verschieben der PDFs wurde NICHT erfolgreich beendet </B> </TD>')
    FileWriteLine("test.html",'</TR>')
    FileWriteLine("test.html",'</TABLE>')
    FileWriteLine("test.html",'<P>')
    FileWriteLine("test.html",'<BR>')
    FileWriteLine("test.html",'')

    [/autoit]
  • was willste den genau machen?? ôÔ
    du kannst batch script in autoit "einbinden"...
    filemove gibt einen rückgabewert den du verarbeiten kannst...

    Code
    Return Value
    
    
    Success: Returns 1. 
    Failure: Returns 0 if source cannot be moved or if dest already exists and flag=0.


    ich galube es müsste auch

    [autoit]

    FileMove("C:\*.pdf", "D:\mydir\*.pdf")

    [/autoit]


    sein..probiers mal aus....
    soweit have fun beim weiter proggen =)
    snoozy

    //edit
    mit dem rückgabewert kannste ja arbeiten...
    $ret = FileMove("C:\*.pdf", "D:\mydir\*.pdf")
    If $ret = 1 Then
    MsgBox(0,"","superduper")
    Else
    MsgBox(0,"","mist")
    Endif


  • -------------------------------------------------------------------------
    Super Danke dir, funktioniert genauso wie ich es brauche :D
    -------------------------------------------------------------------------


    Zitat

    Original von th.meger
    HI,

    du kannst einen String drausmachen und diesen anschließend komplett schreiben, es in eine Datei schreiben und dann auslesen und in eine neue schrieben usw. ...

    Ich hab nicht soviel Erfahrung im Proggn, gibts da irgendwo ein Beispiel?

    Diese File läuft jeden Tag einmal, schreibt mir eine Log, deswegen die ganzen HTML Zeilen. Sieht halt schöner aus.

    Das ist nur eine von knapp 50 Scripten die laufen.... deswegen wollte ich mir AutoIT anschauen und anwenden. (Da kann man mehr mit machen als mit CMD) :)

  • Zitat

    Original von th.meger

    P.S.: Wenn ich Zeit finde, dann passe ich heute Abend mal an.

    Wäre echt super :)

    Ich werde evtl. heute nochmal dran basteln. Aber danke für eure tolle Hilfe :)

  • So ich hab nochmal etwas gebastelt.

    Mit den Strings konnte ich mich noch nicht befassen.

    Soll man hier immer Das Skript unten weiterführen oder oben im ersten Post abändern?

    Spoiler anzeigen
    [autoit]


    $Datum = @MDAY&"."&@MON&"."&@YEAR
    $Uhrzeit = @HOUR&":"&@MIN&":"&@SEC
    $Rechnername = @ComputerName
    $IPAdresse = @IPAddress1
    $Task = 'PDF_Sicherung'
    $Start = '23.55Uhr'
    $Batch = 'TEST'
    $SourceDir = 'C:\autoit'
    $TargetDir = 'C:\autoit\pdf\test'

    [/autoit] [autoit][/autoit] [autoit]

    ;HTML Kopfdaten schreiben
    FileWriteLine("test.html",'<TABLE BORDER="1">')
    FileWriteLine("test.html",' <TD WIDTH="70"> <FONT SIZE="1", FACE="VERDANA"> <B> Rechner: </B> </TD>')
    FileWriteLine("test.html",' <TD WIDTH="100"> <FONT SIZE="1", FACE="VERDANA">' & $Rechnername & ' </TD>')
    FileWriteLine("test.html",' <TD WIDTH="80"> <FONT SIZE="1", FACE="VERDANA"> <B> IP-Adresse: </B> </TD>')
    FileWriteLine("test.html",' <TD WIDTH="100"> <FONT SIZE="1", FACE="VERDANA">' & $IPAdresse & ' </TD>')
    FileWriteLine("test.html",' <TD WIDTH="50"> <FONT SIZE="1", FACE="VERDANA"> <B> Task: </B> </TD>')
    FileWriteLine("test.html",' <TD WIDTH="150"> <FONT SIZE="1", FACE="VERDANA">' & $Task & ' </TD>')
    FileWriteLine("test.html",' <TD WIDTH="100"> <FONT SIZE="1", FACE="VERDANA"> <B> Startzeitpunkt: </B> </TD>')
    FileWriteLine("test.html",' <TD WIDTH="200"> <FONT SIZE="1", FACE="VERDANA">' & $Start & ' </TD>')
    FileWriteLine("test.html",'</TR>')
    FileWriteLine("test.html",'</TABLE>')
    FileWriteLine("test.html",'')
    FileWriteLine("test.html",'<TABLE BORDER="1">')
    FileWriteLine("test.html",'<TR>')
    FileWriteLine("test.html",' <TD WIDTH="80"> <FONT SIZE="1", FACE="VERDANA"> <B> Batchprozeß: </B> </TD>')
    FileWriteLine("test.html",' <TD WIDTH="90"> <FONT SIZE="1", FACE="VERDANA">' & $Batch & ' </TD>')
    FileWriteLine("test.html",' <TD WIDTH="192"> <FONT SIZE="1", FACE="VERDANA"> <B> Zu sichernde Datenbestände: </B> </TD>')
    FileWriteLine("test.html",' <TD WIDTH="200"> <FONT SIZE="1", FACE="VERDANA">' & $SourceDir & ' </TD>')
    FileWriteLine("test.html",' <TD WIDTH="100"> <FONT SIZE="1", FACE="VERDANA"> <B> Zielverzeichnis: </B> </TD>')
    FileWriteLine("test.html",' <TD WIDTH="200"> <FONT SIZE="1", FACE="VERDANA">' & $TargetDir & ' </TD>')
    FileWriteLine("test.html",'</TR>')
    FileWriteLine("test.html",'</TABLE>')

    [/autoit] [autoit][/autoit] [autoit]

    ;Ausgabe in HTML "Beginne mit dem verschieben der PDF´s"
    FileWriteLine("test.html",'<TABLE BORDER="0">')
    FileWriteLine("test.html",'')
    FileWriteLine("test.html",'')
    FileWriteLine("test.html",'<TR>')
    FileWriteLine("test.html",' <TD WIDTH="100"> <FONT SIZE="1", FACE="VERDANA", COLOR="#000099"> <B>' & $Datum & ' </B> </TD>')
    FileWriteLine("test.html",' <TD WIDTH="100"> <FONT SIZE="1", FACE="VERDANA", COLOR="#000099"> <B>' & $Uhrzeit & ' </TD>')
    FileWriteLine("test.html",' <TD WIDTH="600"> <FONT SIZE="1", FACE="VERDANA", COLOR="#000099"> <B>')
    FileWriteLine("test.html",' Beginne mit dem verschieben der PDF´s </B> </TD>')
    FileWriteLine("test.html",'</TR>')

    [/autoit] [autoit][/autoit] [autoit]

    ;Ordner erstellen wenn nicht vorhanden
    DirCreate("C:\autoit\pdf\test")

    [/autoit] [autoit][/autoit] [autoit]

    ;Verschieben der PDFs auf c:\autoit\pdf\test
    FileWriteLine("test.html",'<TR>')
    FileWriteLine("test.html",' <TD WIDTH="100"> <FONT SIZE="1", FACE="VERDANA">' & $Datum & ' </TD>')
    FileWriteLine("test.html",' <TD WIDTH="100"> <FONT SIZE="1", FACE="VERDANA">' & $Uhrzeit & ' </TD>')
    FileWriteLine("test.html",' <TD WIDTH="600"> <FONT SIZE="1", FACE="VERDANA">')
    FileWriteLine("test.html",' Verschieben der PDF´s auf c:\autoit\pdf\test </TD>')
    FileWriteLine("test.html",'</TR>')

    [/autoit] [autoit][/autoit] [autoit]

    ;Beginne verschieben der PDF´s
    $ret = FileMove("c:\autoit\*.pdf" , "c:\autoit\pdf\test\")

    [/autoit] [autoit][/autoit] [autoit]

    ;Abfrage ob verschieben der PDF´s OK
    IF $ret = 1 Then

    [/autoit] [autoit][/autoit] [autoit]

    FileWriteLine("test.html",'')
    FileWriteLine("test.html",'')
    FileWriteLine("test.html",'<TR>')
    FileWriteLine("test.html",' <TD WIDTH="100"> <FONT SIZE="2", FACE="VERDANA", COLOR="#000099"> <B>' & $Datum & ' </B> </TD>')
    FileWriteLine("test.html",' <TD WIDTH="100"> <FONT SIZE="2", FACE="VERDANA", COLOR="#000099"> <B>' & $Uhrzeit & ' </B> </TD>')
    FileWriteLine("test.html",' <TD WIDTH="600"> <FONT SIZE="2", FACE="VERDANA", COLOR="#000099"> <B>')
    FileWriteLine("test.html",' Verschieben der PDF´s ist beendet </B> </TD>')
    FileWriteLine("test.html",'</TR>')
    FileWriteLine("test.html",'</TABLE>')
    FileWriteLine("test.html",'<P>')
    FileWriteLine("test.html",'<BR>')
    FileWriteLine("test.html",'')

    [/autoit] [autoit][/autoit] [autoit]

    ElseIf $ret = 0 Then

    [/autoit] [autoit][/autoit] [autoit]

    FileWriteLine("test.html",'')
    FileWriteLine("test.html",'')
    FileWriteLine("test.html",'<TR>')
    FileWriteLine("test.html",' <TD WIDTH="100"> <FONT SIZE="2", FACE="VERDANA", COLOR="#FF0000"> <B>' & $Datum & ' </B> </TD>')
    FileWriteLine("test.html",' <TD WIDTH="100"> <FONT SIZE="2", FACE="VERDANA", COLOR="#FF0000"> <B>' & $Uhrzeit & ' </TD>')
    FileWriteLine("test.html",' <TD WIDTH="600"> <FONT SIZE="2", FACE="VERDANA", COLOR="#FF0000"> <B>')
    FileWriteLine("test.html",' Verschieben der PDF´s wurde NICHT erfolgreich beendet </B> </TD>')
    FileWriteLine("test.html",'</TR>')
    FileWriteLine("test.html",'</TABLE>')
    FileWriteLine("test.html",'<P>')
    FileWriteLine("test.html",'<BR>')
    FileWriteLine("test.html",'')
    EndIf

    [/autoit]

    Einmal editiert, zuletzt von Kevinch (1. Juni 2007 um 12:44)

    • Offizieller Beitrag

    HI,

    ich hatte nur kurz angefangen, aber so könntest du es aufbauen / ausbauen.

    Spoiler anzeigen
    [autoit]

    #include<Date.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $task = ''
    Global $start = ''
    Global $quelle = 'c:\test.txt'
    Global $ziel = 'c:\test.txt1'

    [/autoit] [autoit][/autoit] [autoit]

    $protokolldatei = '<TD WIDTH="70"> <FONT SIZE="1", FACE="VERDANA"> <B> Rechner: </B> </TD>' & @CRLF & _
    '<TD WIDTH="100"> <FONT SIZE="1", FACE="VERDANA">' & @ComputerName & '</TD>' & @CRLF & _
    '<TD WIDTH="80"> <FONT SIZE="1", FACE="VERDANA"> <B> IP-Adresse: </B> </TD>' & @CRLF & _
    '<TD WIDTH="100"> <FONT SIZE="1", FACE="VERDANA">' & @IPAddress1 & '</TD>' & @CRLF & _
    '<TD WIDTH="50"> <FONT SIZE="1", FACE="VERDANA"> <B> Task: </B> </TD>' & @CRLF & _
    '<TD WIDTH="150"> <FONT SIZE="1", FACE="VERDANA"> ' & $task & ' </TD>' & @CRLF & _
    '<TD WIDTH="100"> <FONT SIZE="1", FACE="VERDANA"> <B> Startzeitpunkt: </B> </TD>' & @CRLF & _
    '<TD WIDTH="200"> <FONT SIZE="1", FACE="VERDANA"> ' & $start & ' </TD>' & @CRLF & _
    '</TR>' & @CRLF & _
    '</TABLE>' & @CRLF & _
    '<TABLE BORDER="1">' & @CRLF & _
    '<TR>' & @CRLF & _
    '<TD WIDTH="80"> <FONT SIZE="1", FACE="VERDANA"> <B> Batchprozeß: </B> </TD>' & @CRLF & _
    '<TD WIDTH="90"> <FONT SIZE="1", FACE="VERDANA"> ' & @ScriptName & ' </TD>' & @CRLF & _
    '<TD WIDTH="192"> <FONT SIZE="1", FACE="VERDANA"> <B> Zu sichernde Datenbestände: </B> </TD>' & @CRLF & _
    '<TD WIDTH="200"> <FONT SIZE="1", FACE="VERDANA"> ' & $quelle & ' </TD>' & @CRLF & _
    '<TD WIDTH="100"> <FONT SIZE="1", FACE="VERDANA"> <B> Zielverzeichnis: </B> </TD>' & @CRLF & _
    '<TD WIDTH="200"> <FONT SIZE="1", FACE="VERDANA"> ' & $ziel & ' </TD>' & @CRLF & _
    '</TR>' & @CRLF & _
    '</TABLE>' & @CRLF & _
    '<TABLE BORDER="0">' & @CRLF & _
    '<TR>' & @CRLF & _
    '<TD WIDTH="100"> <FONT SIZE="1", FACE="VERDANA", COLOR="#000099"> <B> %DATE% </B> </TD>' & @CRLF & _
    '<TD WIDTH="100"> <FONT SIZE="1", FACE="VERDANA", COLOR="#000099"> <B> %TIME% </B> </TD>' & @CRLF & _
    '<TD WIDTH="600"> <FONT SIZE="1", FACE="VERDANA", COLOR="#000099"> <B>' & @CRLF & _
    '</B> </TD>' & @CRLF & _
    '</TR>' & @CRLF & _
    '<TR>' & @CRLF & _
    '<TD WIDTH="100"> <FONT SIZE="1", FACE="VERDANA"> ' & _NowDate() & ' </TD>' & @CRLF & _
    '<TD WIDTH="100"> <FONT SIZE="1", FACE="VERDANA"> ' & _NowTime() & ' </TD>' & @CRLF & _
    '<TD WIDTH="600"> <FONT SIZE="1", FACE="VERDANA">' & @CRLF & _
    '</TD>' & @CRLF & _
    '</TR>' & @CRLF & _
    '<TR>' & @CRLF & _
    '<TD WIDTH="100"> <FONT SIZE="2", FACE="VERDANA", COLOR="#000099"> <B> %DATE% </B> </TD>' & @CRLF & _
    '<TD WIDTH="100"> <FONT SIZE="2", FACE="VERDANA", COLOR="#000099"> <B> %TIME% </B> </TD>' & @CRLF & _
    '<TD WIDTH="600"> <FONT SIZE="2", FACE="VERDANA", COLOR="#000099"> <B>' & @CRLF & _
    '</B> </TD>' & @CRLF & _
    '</TR>' & @CRLF & _
    '</TABLE>' & @CRLF & _
    '<P>' & @CRLF & _
    '<BR>' & @CRLF & _
    '<TR>' & @CRLF & _
    '<TD WIDTH="100"> <FONT SIZE="2", FACE="VERDANA", COLOR="#FF0000"> <B> %DATE% </B> </TD>' & @CRLF & _
    '<TD WIDTH="100"> <FONT SIZE="2", FACE="VERDANA", COLOR="#FF0000"> <B> %TIME% </B> </TD>' & @CRLF & _
    '<TD WIDTH="600"> <FONT SIZE="2", FACE="VERDANA", COLOR="#FF0000"> <B>' & @CRLF & _
    '</B> </TD>' & @CRLF & _
    '</TR>' & @CRLF & _
    '</TABLE>' & @CRLF & _
    '<P>' & @CRLF & _
    '<BR>'

    FileWrite('c:\test.html', $protokolldatei)

    [/autoit]

    So long,

    Mega