thomas1972 0 Geschrieben 9. Juli 2020 Melden Teilen Geschrieben 9. Juli 2020 (bearbeitet) Hallo Zusammen, ich kenne mich mit PowerShell nicht wirklich aus. Folgende soll passieren bzw. funktioniert soweit gut PDF Dateien werden zur weiteren Verarbeitung in TIFF konvertiert (GHostscript) und in bestimmten Ziel abgespeichert. Das PDF selbst wird dann verschoben, soweit ganz gut. Dateinamen sind aktuell z.b. 1234567_name_vorname.pdf Sobald die Bearbeitung fertig ist, erhält diese ein x vor dem Namen x1234567_name_vorname.pdf und soll in ein tiff konvertiert werden. Nun soll aber folgendes passieren wo ich nicht weiter komme -> die zu erstellende TIFF Datei soll einen bestimmten Aufbau des Namen erhalten. Datum des letzten Zugriffs des PDF _ die 7 Stellige Nummer _ das Wort "prüfung" _ name_vorname.tif z.b. 09072020_1234567_prüfung_name_vorname.tiff bisher sieht das Script wie folgt aus. es werden alle PDF´s des Verzeichnis als TIFF erstellt und verschoben. vielleicht kann mir hier jemand helfen. #Pfad Ghostscript $tool = "C:\Sicherung_Stick\Tools\ghostscript\bin\gswin64c.exe" #Ausleseverzeichnis PDF $inputDir = "X:\513214\7. Scan Posteingang\" #Pfad für erledigt $outputDirPDF = "X:\513214\7. Scan Posteingang\ERLEDIGT\" #Pfad für TIFF $outputDir = "X:\513214\TIFF zum einlesen\" $pdfs = get-childitem $inputDir -recurse | where name -like "x*.pdf" foreach($pdf in $pdfs) { $tif = $outputDir + $pdf.BaseName + ".tif" $pdf_to_move = $inputDir + $pdf.BaseName + ".pdf" if(test-path $tif) { "tif file already exists " + $tif } else { 'Processing ' + $pdf.Name $param = "-sOutputFile=$tif" & $tool -q -sPageList=1 -dNOPAUSE -sDEVICE=tiffg4 $param -r600 $pdf.FullName -c quit } # Datei verschieben Move-Item $pdf_to_move $outputDirPDF } EXIT bearbeitet 9. Juli 2020 von thomas1972 Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 9. Juli 2020 Melden Teilen Geschrieben 9. Juli 2020 (bearbeitet) Thomas, willkommen im MCSEboard. Wenn ich alles richtig verstanden habe, sollte es so funktionieren: $tool = 'C:\Sicherung_Stick\Tools\ghostscript\bin\gswin64c.exe' $inputDir = 'X:\513214\7. Scan Posteingang' $outputDirPDF = 'X:\513214\7. Scan Posteingang\ERLEDIGT' $outputDir = 'X:\513214\TIFF zum einlesen' $pdfs = Get-ChildItem -Path $inputDir -Recurse -Filter 'x*.pdf' foreach ($pdf in $pdfs) { $splittedBaseName = $pdf.BaseName -split '_' $tifBaseName = $pdf.LastWriteTime.ToString('yyyyMMdd') + '_' + $splittedBaseName[0].TrimStart('x') + '_prüfung_' + ($splittedBaseName[1..2] -join '_') $tif = Join-Path -Path $outputDir -ChildPath ($tifBaseName + '.tif') $pdf_to_move = $inputDir + $pdf.BaseName + ".pdf" if (Test-Path -Path $tif) { "tif file already exists $tif" } else { "Processing $($pdf.Name)" $param = "-sOutputFile=$tif" & $tool -q -sPageList=1 -dNOPAUSE -sDEVICE=tiffg4 $param -r600 $pdf.FullName -c quit } Move-Item $pdf_to_move $outputDirPDF } bearbeitet 9. Juli 2020 von BOfH_666 Zitieren Link zu diesem Kommentar
thomas1972 0 Geschrieben 12. Juli 2020 Autor Melden Teilen Geschrieben 12. Juli 2020 Vielen lieben dank, genau das wars.. Zitieren Link zu diesem Kommentar
NilsK 2.957 Geschrieben 12. Juli 2020 Melden Teilen Geschrieben 12. Juli 2020 Moin, fernab der Funktion erlaube ich mir die Off-Topic-Anmerkung, dass die Vergangenheit (bzw. genauer das Past Participle) von "split" ebenfalls "split" ist, nicht "splitted". Gruß, Nils 1 Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 12. Juli 2020 Melden Teilen Geschrieben 12. Juli 2020 vor 51 Minuten schrieb NilsK: fernab der Funktion erlaube ich mir die Off-Topic-Anmerkung, dass die Vergangenheit (bzw. genauer das Past Participle) von "split" ebenfalls "split" ist, nicht "splitted". Ich werde das demnächst "eindeutschen". Dann wird die Intention noch deutlicher. 1 1 Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.