Auto IT - Pfad-Angaben

  • Hallo,

    ich schreibe im Moment ein Script das eine ankommende Email in einem bestimmten Ordner speichern soll und dann soll der Anhand dieser Email mit einer batch Datei entschlüsselt werden.

    Die Email und der Anhang werden gespeichert in einem Verzeichnis die bis zu einem besttimmten Grad feststehen dann geb ich einen sleep für paar Sekunden damit der Benutzer das Zielverzeichnis selbst auswählen kann.

    Im Zielverzeichnis wird ein Ordner erstellt dessen Namen ich in einer Variablen speichere.

    Problem: Ich muss die batch- Datei (zum entschlüsseln) in den vorhin erwähnten Ordner hinzufügen, kopieren. Nur weiss ich den Pfad nicht da der Benutzer das Zielverzeicnis ja selbst auswählt.

    Wie komm ich an den Pfad von dem erstellten Ordner??
    Wie kann ich eine oder mehrere Dateien in die Zwischenablage kopieren damit ich sie vielleicht einfach einfügen könnte.
    Das Problem ist das ich im "Speichern unter" Dialog bin und da nur eingstränke Möglichkeiten habe.

    Hier der Code:

    #Include <date.au3>

    Send ("{LAUNCH_MAIL}")
    WinWaitActive("Posteingang - Microsoft Outlook")
    ;erst die Mail an sich Speichern
    Send("{ENTER}")
    sleep(1000)
    $betreff=WinGetTitle("", "")
    Send("{ALTDOWN}")
    Send("du")
    Send("{ALTUP}")
    ;MsgBox(4096, "", $betreff)
    Sleep(20000)
    Send ("X:\_Referat_324\_Produkte")
    TrayTip ( "Info", "Bitte Zielverzeichnis auswählen", 5,1)
    Send("{ENTER}")
    sleep(5000)
    ;erstellt einen neuen Ordner und gibt ihm das Datum und Betreff als Namen
    MouseClick ( "left",790 , 371)
    $datum=_NowDate()
    $OdnerSon= ($datum & $betreff); Ordnername mit Sonderzeichen
    $OrdnerName1= StringReplace ( $OdnerSon, ":", "" ,0) ; filtert die Sonderzeichen
    $OrdnerName2= StringReplace ( $OrdnerName1, "/", "" ,0) ; filtert die Sonderzeichen
    $OrdnerName3= StringReplace ( $OrdnerName2, "\", "" ,0) ; filtert die Sonderzeichen
    $OrdnerName4= StringReplace ( $OrdnerName3, "?", "" ,0) ; filtert die Sonderzeichen
    $OrdnerName5= StringReplace ( $OrdnerName4, "*", "" ,0) ; filtert die Sonderzeichen
    $OrdnerName6= StringReplace ( $OrdnerName5, "<", "" ,0) ; filtert die Sonderzeichen
    $OrdnerName7= StringReplace ( $OrdnerName6, ">", "" ,0) ; filtert die Sonderzeichen
    $OrdnerName= StringReplace ( $OrdnerName7, "|", "" ,0) ; filtert die Sonderzeichen
    ;MsgBox(4096, "", $OrdnerName)
    Send($OrdnerName)
    Send("{ENTER}")
    ; Ordner wurde erstellt
    Sleep(100)
    Send("{ENTER}")
    Sleep(100)
    Send("!S")
    ; Txt wird gespeichert
    Send("{ALTDOWN}")
    Send("dp") ; Anlagen speichern
    Send("{ALTUP}")
    Send("!S")
    Sleep(1000)
    $title = WinGetTitle("", "")
    WinWaitActive ($title)
    if ($title="Alle Anlagen Speichern")then
    WinWaitActive ($title)
    Send("{ENTER}")
    Send("{ENTER}")
    sleep(1000)
    Send("{ENTER}")
    elseif ($title="Anlage Speichern") Then
    WinWaitActive ($title)
    Send("{ENTER}")
    sleep(1000)
    Send("{ENTER}")
    EndIf

  • Mit FileOpenDialog kannst du es machen, oder über Fensternamen :)


    Also einfach statt dem Sleep() dass der user es so auswählt:


    $pfad = FileOpenDialog(argumente)


    und dann FileCopy mit der variablen $pfad :D

  • Hallo,

    erstmal Sorry das ich nicht früher antworten konnte bin noch nicht dazu gekommen. Und als zwietes ich bin eine Frau...

    Also die Tipps haben mir geholfen, die Sache ist nur etwas komplizeirter da ich dem Benutzer einen sleep gebe um den Pfad zu bestimmen. Weiss denn jemand wie man eine Datei einfach in die zwischenablage kopiert??

    Danke,
    Grüsse