Impression et archivage automatique de fichiers pdf
Bonjour à tous,
Tout d'abord veuillez m'excuser si ce post n'est pas dans le bon forum, mais je suis novice et j'ai du mal a diffencier vbs, script et batch.
Toute les nuits, 4 fichiers pdf sont générées dans un répertoire spécifique avec un nom spécifique (nom+date.pdf).
Je souhaiterai lancer un taches planifiées pour que tous les matins cette tache me lance un script (ou vbs ou batch) de manière a imprimer ces 4 fichiers et les archiver sous un autre repertoire (copier puis supprimer).
Comme cela le lendemain, je n'ai toujours que 4 fichiers a imprimer et archiver.
Je me suis donc lancer dans la creation de ce fichier (.cmd) que je pourrais lancer a partir de ma tache planifiée.
Je pense que je ne suis pas très loin mais je n'arrive pas a comprendre pourquoi cela ne fonctionne pas.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
$dir = "V:\PRODUCTION\1- INDICATEURS DE PRODUCTION" ; Emplacement des fichiers
$timeToWait = 120 ; Temps d'attente entre 2 cycles (en secondes)
$pdfReader = "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"
$pdfReaderParams = "-print-to-default -exit-on-print"
$archives = "V:\PRODUCTION\1- INDICATEURS DE PRODUCTION\2020\" ; Emplacement des fichiers archivés
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
While 1
; On liste les fichiers PDF
$search = FileFindFirstFile($dir & "\*.pdf")
If $search <> -1
While 1
Local $pdfFile = FileFindNextFile($search) ; On liste les fichiers 1 à 1
If @error Then ExitLoop ; On sort de la boucle à la fin de la liste
; On lance le Reader avec les options d'impression
do (
start "" "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe" /H /P $pdfFile
)
; On archive le fichier
fso.CopyFile($dir & "\" & $pdfFile , $archives , $FC_OVERWRITE + $FC_CREATEPATH )
; On supprime le fichier pour qu'il ne soit pas imprimé le coup d'après
fso.deletefile($dir & "\" & $pdfFile)
WEnd
End If
FileClose($search)
; On attend un moment avant de tester de nouveau la présence de fichiers PDF
Sleep($timeToWait * 1000)
WEnd |
Si quelqu'un peut m'aider a corriger le script j'en serai très heureux.
Merci d'avance