ullerer
Goto Top

Batch befehl datei mit nur 8-stelliger zahl kopieren

hallo,
ich möchte folgendes problem lösen:
ich scanne einen stapel dokumente mittels OCR-software in einen Ordner (c:\batchtest1).
diese erkennt meistens eine 8-stellige zahl und erzeugt eine pdf-datei mit der eingelesenen nummer als dateinamen

richtig:
12345678.pdf
23456789.pdf
43567893.pdf
falsch:
1234567.pdf
123456789.pdf
q1234567.pdf
1234567t.pdf
alle richtig eingelesenen dateien sollen einen anderen ordner kopiert werden.

die falsch erkannten dateien (mal mit buchstaben, mal 7-stellig, mal 9-stellig) sollen zur manuellen nachbearbeitung in dem ordner bleiben.

bin laie und bisher nur soweit:

echo off
xcopy c:\batchtest1 c:\batchtest2
pause

hat jemand einen tipp?

schon mal danke
ullerer

Content-Key: 207320

Url: https://administrator.de/contentid/207320

Printed on: April 25, 2024 at 22:04 o'clock

Member: Endoro
Endoro Jun 01, 2013 at 09:38:54 (UTC)
Goto Top
Hallo ullerer,

das müsste so gehen:

@echo off &setlocal
cd /d c:\batchtest1
for /f %%i in ('dir /a-d /b *.pdf ^|findstr /ir "^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]\.pdf$"') do copy %%~i c:\batchtest2  


Gruss!
Member: ullerer
ullerer Jun 01, 2013 at 09:48:07 (UTC)
Goto Top
servus enduro,
perfekt!
vielen dank.
gruß
ullerer
Member: ullerer
ullerer Jun 03, 2013 at 14:33:42 (UTC)
Goto Top
hallo enduro,

jetzt ist da doch noch ein problem aufgetaucht, weil ich ursprünglich von kopieren ausging.

jetzt müsste ich aber nicht kopieren sondern die gültigen 8-stelligen dateinamen ausschneiden bzw. verschieben, so dass nur noch die ungültigen zurückbleiben, die dann nachbearbeitet werden können.


bisher wurde der ausgangsordner komplett geleert:
BE\DINA5 ersetzt c:\batchtest1 aus obigem beispiel,
Z:\2 Mitglieder BE ersetzt c:\batchtest2.

@echo off
xcopy "C:\BE\DINA5" "Z:\2 Mitglieder BE" /-Y
del "C:\BE\DINA5\" /q
exit

wie lautet dein befehl in kombination mit nur verschieben anstatt kopieren?

gruß
ullerer