Nummerierte Dateien auf Vollständigkeit überprüfen.
Hallo alle, ich bin nicht der script crack und bräuchte bitte eure Hilfe.
Ich habe einen Ordner mit PDF Dateien, diese sind immer nach dem selben "Schema" vorhanden / aufgebaut:
Dateiname einmal: F13020431.pdf und selber Aufbau nur anstelle von "F" steht "G"
Beide Varianten sind aber im selben Ordner. Mir wäre schon geholfen wenn ich einfach manuel die Abfrage (script) von F auf G ändere und durchlaufen lasse.
Was ich herausfinden muss ist ob die fortlaufenden Nummern der Dateinamen auch lückenlos vorhanden sind, und wenn nicht die Fehlende(n) in eine Logdatei ausgeben, als Liste.
Es gab mal einen ähnlichen Artikel 2010 im Forum, aber leider bin ich damit gar nicht zurecht gekommen, weil ich eben ein völliger script Trottel bin
Ich hoffe ihr könnt mir helfen?
Vorab schon mal vielen Dank!!!!!
Grüße Samuel
Ich habe einen Ordner mit PDF Dateien, diese sind immer nach dem selben "Schema" vorhanden / aufgebaut:
Dateiname einmal: F13020431.pdf und selber Aufbau nur anstelle von "F" steht "G"
Beide Varianten sind aber im selben Ordner. Mir wäre schon geholfen wenn ich einfach manuel die Abfrage (script) von F auf G ändere und durchlaufen lasse.
Was ich herausfinden muss ist ob die fortlaufenden Nummern der Dateinamen auch lückenlos vorhanden sind, und wenn nicht die Fehlende(n) in eine Logdatei ausgeben, als Liste.
Es gab mal einen ähnlichen Artikel 2010 im Forum, aber leider bin ich damit gar nicht zurecht gekommen, weil ich eben ein völliger script Trottel bin
Ich hoffe ihr könnt mir helfen?
Vorab schon mal vielen Dank!!!!!
Grüße Samuel
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 190384
Url: https://administrator.de/forum/nummerierte-dateien-auf-vollstaendigkeit-ueberpruefen-190384.html
Ausgedruckt am: 04.04.2025 um 05:04 Uhr
5 Kommentare
Neuester Kommentar
Hallo samuelT!
Wenn Du Anfangs- und Endwert der Nummern kennst, sollte etwas in der Art funktionieren (zum Testen direkt in CMD; wenn Du einen Batch daraus machen willst, jeweils "%%i" anstatt "%i" verwenden):
Grüße
bastla
Wenn Du Anfangs- und Endwert der Nummern kennst, sollte etwas in der Art funktionieren (zum Testen direkt in CMD; wenn Du einen Batch daraus machen willst, jeweils "%%i" anstatt "%i" verwenden):
for /L %i in (13020400,1,13020450) do @if not exist "F%i.pdf" >>Fehlende.txt echo %i
bastla
Hallo samuelT!
Grüße
bastla
Kann ich das ganze auch in ne Batch verpacken und den Ort des Ordners angeben bzw den Ausgabe "Ort" für die Fehler Log?
Etwa so:@echo off & setlocal
set "Ordner=D:\Dein Ordner"
set "Log=D:\Fehlerlog.txt"
set /a Von=13020400
set /a Bis=13020450
del "%Log%" 2>nul
for /L %%i in (%Von%,1,%Bis%) do (
if not exist "%Ordner%\F%i.pdf" echo F%%i
if not exist "%Ordner%\G%i.pdf" echo G%%i
)>>"%Log%"
bastla
Hi,
ich habs noch ein bisschen weitere automatisiert, so dass nun die F-Dateien und die G-Dateien in einem Aufruf abgearbeitet werden und die erste und letzte Nummer selbstständig ermittelt wird (quick&dirty aber tut)
Gruß Andi
ich habs noch ein bisschen weitere automatisiert, so dass nun die F-Dateien und die G-Dateien in einem Aufruf abgearbeitet werden und die erste und letzte Nummer selbstständig ermittelt wird (quick&dirty aber tut)
Gruß Andi
@echo off
setlocal enableDelayedExpansion
::
::Variablendefinitionen
::
set "logfile=%temp%\Fehlende.txt"
set "first=*init*"
set "last="
::
:: jetzt gehts los - Durchlauf fuer F-Dateien
::
set "letter=f"
call :sub1
call :sub2 %first% %last% %letter%
::
:: jetzt gehts los - Durchlauf fuer G-Dateien
::
set "letter=g"
set "first=*init*"
call :sub1
call :sub2 %first% %last% %letter%
goto :EOF
::##################################################################
:sub1
for /f %%a in ('dir %letter%*.pdf /b /on') do (
if !first!==*init* (
set "first=%%a"
)
set "last=%%a
)
goto :EOF
::##################################################################
:sub2
set "first=%~n1"
set "first=%first:~1,99%"
set "last=%~n2"
set "last=%last:~1,99%"
echo first = %first%
echo last = %last%
for /L %%i in (%first%,1,%last%) do @if not exist "%3%%i.pdf" >>%logfile% echo %3%%i.pdf
goto :EOF
::##################################################################