kostenloser Webspace werbefrei: lima-city


[Batch] Ordner durchsuchen und Dateien ausdrucken

lima-cityForumProgrammiersprachenSonstige Programmiersprachen

  1. Autor dieses Themas

    das-koenigreich

    das-koenigreich hat kostenlosen Webspace.

    Hi, ich habe einen Ordner, in den per Dropbox PDF-Dokumente kommen. Auf einem der Rechner soll nun ein Batch-Script laufen, das schaut, ob PDF-Dokumente in dem Ordner sind und falls welche da sind, diese ausdruckt und anschließend löscht. Vor dem Drucken und Löschen sollte es aber schauen, ob die Datei mehr als 0 Byte hat, da Dropbox immer zuerst eine leere Datei anlegt, dann die Datei herunter lädt (in eine Cache-Datei, die nicht in diesem Ordner ist) und dann die leere Datei durch die volle ersetzt.

    Dummerweise habe ich keine Ahnung, wie das geht, weswegen ich mich an euch wende. Der Print-Befehl schafft ja laut help-Befehl auch nur Textdateien ...
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. t********g

    Hier eine Batch für das Scannen von Pdfs und wegen dem 0 Byte.

    Musst nurnoch ein Programm finden was per Commandline pdfs drucken kann und dann die
    echo Hier der Druckbefehl
    Zeile mit dem Befehl ersetzen.

    Dann kann auch das pause in der Zeile darunter weg, wenn gewünscht.

    Pdfs.cmd
    @echo off
    cd /d "%~dp0"
    for %%a in ("*.pdf") do set datei=%%a&set bytes=%%~za&call :loop
    echo Fertig&pause&exit
    
    :loop
    if "%bytes%" LEQ "0" goto :eof
    echo Datei '%datei%' (%bytes% Bytes) wird bearbeitet
    echo Hier der Druckbefehl
    pause
    goto :eof


    Beitrag zuletzt geändert: 9.8.2011 21:49:57 von tid-gaming
  4. Hallo das-koenigreich,

    hier der Quellcode wie ich dies mit AutoIt lösen würde:
    #Include <File.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    
    Local $sIni = @ScriptDir & "\dropbox.ini"
    Local $sPath = IniRead($sIni, "Config", "Path", "c:\dropbox")
    Local $sNewDir, $aFiles
    
    $idfrmMain = GUICreate("DropBox PDF print and delete (Author: autoBert 2011)", 500, 210)
    GUICtrlCreateLabel("PDF's sind im Ordner:", 5, 10, 170, 20, $SS_CENTER)
    GUICtrlSetFont(-1, 12)
    Local $idbtnSelect = GUICtrlCreateButton("&ändern", 180, 10, 80, 20)
    Local $idedtSave = GUICtrlCreateEdit($sPath, 5, 35, 490, 70, BitOR($ES_MULTILINE, $ES_READONLY))
    GUICtrlSetFont(-1, 12, 1800)
    GUICtrlSetState(-1, $GUI_DISABLE)
    Local $idbtnPrint = GUICtrlCreateButton("&Drucken", 180, 120, 80, 20)
    Local $idProgress = GUICtrlCreateProgress(5,150,490,20)
    Local $idlblProgress = GUICtrlCreateLabel("",5,175,490,20)
    GUISetState(@SW_SHOW)
    
    
    While 1
    	$nMsg = GUIGetMsg()
    	Switch $nMsg
    		Case $idbtnSelect
    			If $sPath = "" Then $sPath = "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"
    			$sNewDir = FileSelectFolder("Ordner zum Speichern auswählen", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", 1, $sPath, $idfrmMain)
    			If $sNewDir <> "" Then
    				GUICtrlSetData($idedtSave, $sNewDir)
    				$sPath = $sNewDir
    			EndIf
    		Case $idbtnPrint
    			$aFiles = _FileListToArray($sPath, "*.pdf", 1)
    			ConsoleWrite($aFiles[0] & @TAB)
    			If Not @error Then
    				GUICtrlSetData($idProgress,0)
    				For $i = 1 To $aFiles[0]
    					$sFile = $sPath & "\" & $aFiles[$i]
    					GUICtrlSetData($idlblProgress,$aFiles[$i])
    					$iPercent = 100 / $aFiles[0] * $i
    					If FileGetSize($sFile) > 0 Then
    						GUICtrlSetData($idlblProgress,$aFiles[$i] & " wird gedruckt")
    						ShellExecuteWait($sFile, "", "", "print")
    						FileDelete($sFile)			;diese Zeile nach Testen freigeben
    					EndIf
    					GUICtrlSetData($idProgress,$iPercent)
    				Next
    			EndIf
    		Case $GUI_EVENT_CLOSE
    			IniWrite($sIni, "Config", "Path", GUICtrlRead($idedtSave))
    			Exit
    	EndSwitch
    WEnd


    Und hier die kompilierte EXE: download.lima-city.de/motoernie/PDF_PrintDelete.exe Ich habe den normalen Adobe Reader 9 installiert und damit läuft es.

    Und hier der Virencheck von PDF_PrintDelete.exe.

    Beitrag zuletzt geändert: 9.8.2011 23:03:26 von autobert
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!