PDF mit bestimmter Seitenzahl in Ordner verschieben
Hallo,
ich habe folgende Frage:
Ich habe einen bestehenden Batch-Script der aus irgendeinem Grund nicht mehr will.
Ich habe viele Tausend PDF Dateien bei denen die Seitenzahl mittels "APGetPageCount" ausgelesen wird.
Ab einer bestimmten Seitenzahl soll (siehe: set /a "seitenzahl=4")
die Datei in den Zielpfad verschoben werden und alle anderen bleiben wo sie sind.
Jede Datei KANN eine dazugehörige PDF haben die mit kopiert werden soll.
Hier mein Aufbau:
Datei1_K1.pdf
Datei1_K2.pdf
Datei2_K1.pdf
Datei2_K2.pdf
Das Problem ist jetzt nur das es alle K1 Dateien verschiebt aber die passende K2 Datei nicht mitnimmt.
Vll kann jmd das Problem schnell lösen ;)
Hier die aktuelle Batch...
ich habe folgende Frage:
Ich habe einen bestehenden Batch-Script der aus irgendeinem Grund nicht mehr will.
Ich habe viele Tausend PDF Dateien bei denen die Seitenzahl mittels "APGetPageCount" ausgelesen wird.
Ab einer bestimmten Seitenzahl soll (siehe: set /a "seitenzahl=4")
die Datei in den Zielpfad verschoben werden und alle anderen bleiben wo sie sind.
Jede Datei KANN eine dazugehörige PDF haben die mit kopiert werden soll.
Hier mein Aufbau:
Datei1_K1.pdf
Datei1_K2.pdf
Datei2_K1.pdf
Datei2_K2.pdf
Das Problem ist jetzt nur das es alle K1 Dateien verschiebt aber die passende K2 Datei nicht mitnimmt.
Vll kann jmd das Problem schnell lösen ;)
Hier die aktuelle Batch...
@echo off & setlocal enabledelayedexpansion
set "Quelle=C:\temp"
set "DateienK1=*_K1.pdf"
set "Ziel=C:\temp\big"
set "PgCt=F:\Programme\pdfcount.exe"
for %%i in ("%Quelle%\%DateienK1%") do (
REM echo "%%~ni"
REM for /f "tokens=1 delims=_K" %%a in ("%%~ni.pdf") do (
REM echo "%%~na"
REM )
echo Datei: "%%~ni.pdf"
call :Auswertung "%Quelle%\%%~ni.pdf"
)
goto :eof
:Auswertung
REM SEITENZAHL GROESSER ALS ANGEGEBENE ZAHL -> VERSCHIEBE IN KOMPAKT!!
set /a "seitenzahl=4"
for /f "tokens=2 delims=: " %%n in ('call "%PgCt%" "%~1"^|findstr /c:"PageCount:"') do (
echo Seiten: %%n
if "%%n" GTR "%seitenzahl%" (
echo verschiebe Dateien
move %1 "%Ziel%">nul
for /f "delims=K" %%f in ("%~n1") do (
if exist "%Quelle%\%%fK2.pdf" move "%Quelle%\%%fK2.pdf" "%ziel%">nul
)
)
)
goto :eof
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 175452
Url: https://administrator.de/contentid/175452
Ausgedruckt am: 23.11.2024 um 05:11 Uhr
9 Kommentare
Neuester Kommentar
Moin,
Ich vermute mal -ungetesteterweise .- der Bock steckt in Zeile 26/27
zuerst verschiebst du die "quelldatei" an einen anderen Ort und dann beziehst du dich wieder zurück zu Ihr...
Dreh die Zeilen mal um....
Ich habe einen bestehenden Batch-Script der aus irgendeinem Grund nicht mehr will.
- bedeutet das, die lief mal?
- mach mal das echo off weg...
- schau mal, was der dann bei Zeile 27 ff macht. - bzw. nimm in Zeile 28 ganz hinten die >nul raus
- Die Frage ist doch - warum so?
Ich vermute mal -ungetesteterweise .- der Bock steckt in Zeile 26/27
zuerst verschiebst du die "quelldatei" an einen anderen Ort und dann beziehst du dich wieder zurück zu Ihr...
Dreh die Zeilen mal um....
Salve.
ja weil ähh also ähh wegen Plantquadrat xbr12 im Dräbbelhäpp mit Flourkohlenwasserstoff Meine Hände haben keine Löcher, die hat nur Inri und den kann ich grad nicht fragen...
ok - also du hast nun was genau gemacht?
das €echo off² weggenommen?
Zeile 26 raus und als (da wo jetzt Zeile 30 ist) wieder rein?
Was sagt denn die Batch, wenn am Ende eine Pause steht?
² Ab jetzt schreib ich nur noch €echo off
Die Frage ist nur warum es ging und jetzt nichtmehr o.O
ok - also du hast nun was genau gemacht?
das €echo off² weggenommen?
Zeile 26 raus und als (da wo jetzt Zeile 30 ist) wieder rein?
Was sagt denn die Batch, wenn am Ende eine Pause steht?
² Ab jetzt schreib ich nur noch €echo off
[OT]
... das ist alles nur geklaut echo off! echo off! ... ach ne, das war etwas anderes ...
Mein echo off, mein echo off - das war mir einst ein Freund
doch nun hat es - hab's nicht gehofft - den Fehler nicht gezeigt
dann kam es weg - und siehe da - was hab ich mich gefreut
denn echo off, ja echo off hat vor sich hingeträumt ...
Nimm's weg echo on und bätscheln
[/OT]
... das ist alles nur geklaut echo off! echo off! ... ach ne, das war etwas anderes ...
Mein echo off, mein echo off - das war mir einst ein Freund
doch nun hat es - hab's nicht gehofft - den Fehler nicht gezeigt
dann kam es weg - und siehe da - was hab ich mich gefreut
denn echo off, ja echo off hat vor sich hingeträumt ...
Nimm's weg echo on und bätscheln
[/OT]
[OT]
Weine nicht, wenn dir der Fehler nicht auffällt, damm damm
es gibt einen, der zu dir hält.
Echo off off off
Bätch, Zehämde undsoweiter bricht, mein geliebtes Echo off verlass mich nicht.
Alles, alles geht vorbei, seh den Fehler nicht worüber ich mich freu
Echo off ich will ein Kind von dir
bin ich traurig, dann sagt es zu mir:
Wenn die Dateien immer K1.pdf heissen, dann mimm doch nicht das k, sondern die vorletzte Stelle des Dateinamens..
Kleb dann bitte auch nen grünen Haken dran.
Gruß
Weine nicht, wenn dir der Fehler nicht auffällt, damm damm
es gibt einen, der zu dir hält.
Echo off off off
Bätch, Zehämde undsoweiter bricht, mein geliebtes Echo off verlass mich nicht.
Alles, alles geht vorbei, seh den Fehler nicht worüber ich mich freu
Echo off ich will ein Kind von dir
bin ich traurig, dann sagt es zu mir:
"The Error you have called is temporarily not available please try again later"
[/OT]Wenn die Dateien immer K1.pdf heissen, dann mimm doch nicht das k, sondern die vorletzte Stelle des Dateinamens..
Kleb dann bitte auch nen grünen Haken dran.
Gruß
Zitat von @Sternex:
die Dateinamen an sich sind ja immer unterschiedlich und K1 & K2 sind immer die letzten Stellen der Datei.
die Dateinamen an sich sind ja immer unterschiedlich und K1 & K2 sind immer die letzten Stellen der Datei.
- na dann...
for /f "delims=K" %%f in ("%~n1") do (
if exist "%Quelle%\%%fK2.pdf" move "%Quelle%\%%fK2.pdf" "%ziel%">nul
)
- raus und
set "working"=="%~n1"
set "working"=="%working:~-2%"
move "%Quelle%\%working%K1.pdf" "%ziel%"
move "%Quelle%\%working%K2.pdf" "%ziel%"
Man muss nur vorher dran denken bei der Erstellung.
der Bätch - dass es Poweruser gibt, denen der Admin vergessen hat die K Taste vom Keyboard wegzunehmen? *lach*Trotzdem Danke für die Hilfe ;)
Gruß