Dateien wegsichern und umbennennen
Hallo ich habe einen Ordner mit 5915 Verzeichnissen. In jedem dieser Verzeichnisse gibt es einen Ordner namens 200. Darin befindet sich eine *.tif Datei.
Diese *.Tif soll mit laufender Nummer wegkopiert werden. So dass ich danach im Verzeichnis 1.tif , 2.tif, 3.tif stehen habe???
wie kann ich das machen?
so sieht die Ordnerstruktur aus:
Diese *.Tif soll mit laufender Nummer wegkopiert werden. So dass ich danach im Verzeichnis 1.tif , 2.tif, 3.tif stehen habe???
wie kann ich das machen?
so sieht die Ordnerstruktur aus:
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 97692
Url: https://administrator.de/contentid/97692
Ausgedruckt am: 22.11.2024 um 21:11 Uhr
13 Kommentare
Neuester Kommentar
Hallo,
a) heißt die TIF Datei in jedem Verzeichnis 1.tif, also muss umbenannt werden oder sind die Datei-Namen schon eindeutig?
b) suchst du ein Skript (zum immer wieder ausführen) oder nur eine einmalige Aktion?
Im letzteren Fall nutze einfach die Windowssuche (nach .tif), markiere alle Treffer (Strg+A) und kopiere die in dein Zielverzeichnis.
Gruß, Farbauti.
a) heißt die TIF Datei in jedem Verzeichnis 1.tif, also muss umbenannt werden oder sind die Datei-Namen schon eindeutig?
b) suchst du ein Skript (zum immer wieder ausführen) oder nur eine einmalige Aktion?
Im letzteren Fall nutze einfach die Windowssuche (nach .tif), markiere alle Treffer (Strg+A) und kopiere die in dein Zielverzeichnis.
Gruß, Farbauti.
Ungetestet würd ichs mal so versuchen:
@echo off
set "quelle="C:\Rücksicherung 6000 Faxe"
set "ziel=C:\Alle Faxe"
set nr=0
FOR /F "delims=" %%i in ('dir /B /S "%quelle%\*.tif"') do goto:copyit "%%~i"
goto:eof
:copyit
set /a nr=%nr%+1
if not exist "%ziel%\%nr%.tif" (
copy "%~1" "%ziel%\%nr%.tif"
goto:eof
) else (
goto:copyit
)
Bei dieser Batch werden alle tifs, egal wie sie heißen, aufgesammelt und kopiert.
@echo off
set "quelle="C:\Rücksicherung 6000 Faxe"
set "ziel=C:\Alle Faxe"
set nr=0
FOR /F "delims=" %%i in ('dir /B /S "%quelle%\*.tif"') do goto:copyit "%%~i"
goto:eof
:copyit
set "file=%~1"
:nrup
set /a nr+=1
if exist "%ziel%\%nr%.tif" goto:nrup
if not exist "%ziel%\%nr%.tif" copy "%file%" "%ziel%\%nr%.tif"
goto:eof
Ich habs gerade bei mir so getestet:
Und es geht so bei mir.
Zu testzwecken kannst dus ja mal so versuchen:
Hier sollten Meldungen kommen was gemacht wird. Nach jeder Datei die verarbeitet wurde kommt eine Pause inder du kontrollieren kannst wo der Fehler liegt.
@echo off
set "quelle=C:\Rücksicherung 6000 Faxe"
set "ziel=C:\Alle Faxe"
set nr=0
FOR /F "delims=" %%i in ('dir /B /S "%quelle%\*.tif"') do call:copyit "%%~i"
goto:eof
:copyit
set "file=%~1"
:nrup
set /a nr+=1
if exist "%ziel%\%nr%.tif" goto:nrup
if not exist "%ziel%\%nr%.tif" copy "%file%" "%ziel%\%nr%.tif"
goto:eof
Zu testzwecken kannst dus ja mal so versuchen:
@echo off
set "quelle=C:\Rücksicherung 6000 Faxe"
set "ziel=C:\Alle Faxe"
set nr=0
FOR /F "delims=" %%i in ('dir /B /S "%quelle%\*.tif"') do call:copyit "%%~i"
goto:eof
:copyit
set "file=%~1"
echo Verarbeite "%file%"
:nrup
set /a nr+=1
echo Existiert "%ziel%\%nr%.tif" ?
if exist "%ziel%\%nr%.tif" (
echo Ja
goto:nrup
)
if not exist "%ziel%\%nr%.tif" (
echo Nein, Datei wird kopiert und in "%nr%.tif" umbenannt.
copy "%file%" "%ziel%\%nr%.tif"
)
pause
goto:eof