Anfänger braucht Hilfe bei cmd Befehl vom Adobe Reader

  • Hallo Leute ich hab ein Projekt amlaufen wo ich ein AutoIT Programm schreibe das überprüft ob in einem Ordner PDF Dateien liegen wenn ja verschiebt er sie in einen unterordner und druckt sie dann aus.
    das ganze sieht bei mir imoment so aus.


    So nun bräuchte ich hilfe bei der Zeile 17 mit dem Adobe Reader es klappt bei mir einfach nich das er mir Dateien ausdruckt

    würde mich sehr freuen wenn ihr mir antworten würdet

    lg homecomingservice :)

  • Ohne die CMD Parameter des Adobe Readers zu kennen ...
    In deinem Pfad zum Reader hast du ein / statt eines \. Der Pfad an sich gehört zwischen Anführungszeichen. Das gleiche würde ich beim Dateipfad machen. Im Dateipfad fehlt dir die Datei, du verweisst auf einen Ordner. Zwischen Dateipfad und Drucker fhlt eine Leestelle.

    [autoit]

    Run(@ComSpec & " /c " & '"C:\Program Files\Adobe\Reader 9.0\ReaderAcroRd32.exe" /t "' & $ordner & $unterordner & $datei'" ' & $drucker, @SW_SHOW)

    [/autoit]
  • Sollte es immernoch nicht funktionieren solltest du die ini Datei posten, möglicherweise hast du dort auch noch Fehler und der zusammengesetzte Pfad $ordner & $unterordner & $datei ist falsch.

  • Hallo danke für die antworten erstmal

    er bringt mir immernoch einen Syntax Fehler


    meine Ini Datei sieht so aus

    Code
    [PDF Druck]
    PDF=H:\Test AutoIT\test
    [Drucker auslesen]
    Drucker=HP LaserJet P2050
    [Prüfintervall]
    Intervall=50
    [Dateiaufbewahrung]
    Dateiaufbewahrung=30
    [Temporärer Ordner]
    Temporärer Ordner= "\Temporär bearbeitet\"
    Zitat

    und der zusammengesetzte Pfad $ordner & $unterordner & $datei ist falsch.

    Wie setze ich den den richtig zusammen? ich kenn mich da überhaupt nich aus.

    lg homecomingservice

  • [ offen ] pdf silent print

    Setz mal alle Dateinamen in Anführungsstriche, um die Leerzeichen im Dateinamen in der CMD abzufangen.

    ciao
    Andy


    "Schlechtes Benehmen halten die Leute doch nur deswegen für eine Art Vorrecht, weil keiner ihnen aufs Maul haut." Klaus Kinski
    "Hint: Write comments after each line. So you can (better) see what your program does and what it not does. And we can see what you're thinking what your program does and we can point to the missunderstandings." A-Jay

    Wie man Fragen richtig stellt... Tutorial: Wie man Script-Fehler findet und beseitigt...X-Y-Problem

    Einmal editiert, zuletzt von Andy (23. November 2010 um 14:24)

  • Ich möchte nicht nur 1 Datei ausdrucken in dem Unterordner kommen laufend PDF Files rein die er ausdrucken soll. Er soll jede einzele PDF Datei in dem Ordner 1 mal ausdrucken und dann die nächste ausdrucken funktioniert das irgentwie?.

  • In deinem filemove Befehl ist im übrigen auch ein Fehler. Die Datei erhält danach die Endung pfd statt pdf.
    Was für ein Syntax Fehler kommt denn? Für welche Zeile? Und hast du dem Befehl nun einen Dateinamen mitgegeben wie oben erwähnt wurde? Da das in einer Schleife läuft und gedruckte Dateien verschoben werden reicht es wenn du immer die ersten Eintrag des Arrays druckst falls einer vorhanden ist. Im nächsten Durchlauf sollte dann eine weniger im Array sein usw.

    Das filemove sollte im übrigen nach dem Druckbefehl kommen. Am besten runwait benutzen und dann verschieben.

    [autoit]

    Runwait(@ComSpec & " /c " & '"C:\Program Files\Adobe\Reader 9.0\ReaderAcroRd32.exe" /t "' & $ordner & "\" & $FileList[1] '" ' & $drucker, @SW_SHOW)
    filemove(...)

    [/autoit]

    2 Mal editiert, zuletzt von misterspeed (23. November 2010 um 14:49)

  • Ah den Filemove befehl hab ich total übersehen danke
    die zeile ist jetzt

    Code
    FileMove ( $ordner & $FileList[1] , $ordner & $unterordner & @YEAR & @MON & @MDAY & @HOUR & @MIN & @SEC & ".pdf", 0 )

    Die Runzeile ist nun [codeRun(@ComSpec & " /c " & '"AcroRd32.exe /N /T "' & $ordner & $unterordner & $FileList[1] '" ' & $drucker, @SW_SHOW)][/code]


    und der Syntax Fehler lautet

    Code
    H:\Test AutoIT\test2.au3(16,94) : ERROR: syntax error
    Run(@ComSpec & " /c " & '"AcroRd32.exe /N /T "' & $ordner & $unterordner & $FileList[1] '" '
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    H:\Test AutoIT\test2.au3 - 1 error(s), 0 warning(s)


    So sieht das ganze nun aus ich steh bloß imoment total aufn Schlauch Sorry :S


    Er soll die Datei verschieben in den Ordner Temporärer Ordner, gleichzeitig in den akutellen Zeitstempel umbennen, und dann erst aus dem ordner Temporärer Ordner ausdrucken so soll das programm laufen

    Ich hab das FileMove angepasst und dennoch verschiebt er die Dateien nicht

  • Nach zig Beiträgen "...Script funktioniert nicht" mal dumm gefragt, ob du, wenn du per Hand (auf CMD-Ebene) Dateien kopierst und per
    Reader.exe /t blablub
    druckst, eine und wenn ja, welche Fehlermeldung erhälst.

    Bei mir zuhause funktioniert ein Script mit u.a. genau der Aufgabenstellung nämlich einwandfrei.
    Schreib eine Batch die funktioniert, und übertrage dann diese Befehle 1:1 ins Script

  • Ja du hast den run befehl ja auch falsch angewendet.

    Befehl,workingdir,showflag

    wenn du den showflag angibst musst du auch den 2. Parameter angeben. Wenn du hier nichts spezielles definiren willst benutze ""

    also so

    befehl, "", showflag...

  • @ Andy
    wenn ich in CMD start AcroRd32.exe /N /T "H:\Test AutoIT\test\Temporär bearbeitet\Test1.pdf" "HP LaserJet P2050" ausführe funktioniert es ohne irgent einen fehler gibt es eine möglichkeit den Adobe Reader Komplett nach dem Drucken zu schließen?

  • der /T - Parameter steht imho für Terminate. Die Exe sollte danach also geschlossen werden.
    mom, du benutzt START!
    ruf das mal ohne den START auf, also nur AcroRd32.exe.....

  • Ohne den start befehl bekomm ich die Fehlermeldung

    Code
    AcroRd32.exe" ist entweder falsch geschrieben oder konnte nicht gefunden werden (im CMD Fenster jetzt)
  • Gib den Pfad zur exe mit an, dann funktioniert es, alternativ PATH setzen bzw in der Registry eintragen.
    Ansonsten sucht der Kommandointerpreter (command.com) nur im aktuellen Verzeichnis und findet dort natürlich den Reader nicht

  • so ok das mit dem Ganzem Pfad Funktioniert einwandfrei dankeschön!


    Bloß wie packe ich diese Zeile jetzt in

    Code
    Run(@ComSpec & " /c " & '"start AcroRd32.exe /N /T "' & $ordner &"\"& $unterordner &"\"& $FileList[1]  &  $drucker, "", "" )


    diese Zeile gibt keinen Syntax Fehler aus aber der Adobe Reader sagt " Beim Öffnen dieses Dokuments ist ein Fehler aufgetreten. Diese Datei kann nicht gefunden werden" obwohl die Datei genau dem ordner liegt

  • Sorry i2c aber ich blick gar nich mehr durch was für Leerstellen du meinst? könntest du mir evtl bitte die 1 Code zeile posten? dann wäre ich dir sehr verbunden.


    LG Homecomingservice

  • Zitat

    der Adobe Reader sagt " Beim Öffnen dieses Dokuments ist ein Fehler aufgetreten. Diese Datei kann nicht gefunden werden" obwohl die Datei genau dem ordner liegt

    Den Fehler bringt er auch mit deiner Zeile
    und viel viel dank für die Zeile