Dateien kopieren und durchnummerieren (Anhängen an Dateinamen)
Hallo,
ich habe ein Problem:
Ich will mehrer Dateien aus mehreren Unterverzeichnissen in ein Verzeichnis kopieren.
Dabei dritt folgendes Problem auf:
Meine Daten haben öfters mal, also nicht immer, den gleichen Dateinamen.
was bedeutet, dass sie überschrieben werden.
Was ich bisher habe:
for /f "delims=" %%a in ('dir /b/s /O:D C:\steuern\*%2000%?????????????????????.tif ') do (
xcopy "%%a" "C:\Dokumente und Einstellungen\name\Eigene Dateien\2000-2003*.tif" /i/c/y
)
Eine „For-Schleife“ die nach Kriterien sucht und die Dateien in ein Zielverzeichnis kopiert.
Wie kann ich jedem Dateinamen eine Zahl mitgeben die, die Datei eindeutig macht und sie damit nicht mehr überschrieben wird?
Beispiel:
Unterverzeichnis 1:
Hamster.tif
Unterverzeichnis 2:
Hamster.tif
Nach Ablauf der Batch:
Verzeichnis:
Hamster1.tif
Hamster2.tif
Dabei muss nicht geprüft werden ob die Datei bereits vorhanden ist.
Also im Prinzip nur stupides Durchnummerieren.
Danke euch.
Gruß
Sepp
ich habe ein Problem:
Ich will mehrer Dateien aus mehreren Unterverzeichnissen in ein Verzeichnis kopieren.
Dabei dritt folgendes Problem auf:
Meine Daten haben öfters mal, also nicht immer, den gleichen Dateinamen.
was bedeutet, dass sie überschrieben werden.
Was ich bisher habe:
for /f "delims=" %%a in ('dir /b/s /O:D C:\steuern\*%2000%?????????????????????.tif ') do (
xcopy "%%a" "C:\Dokumente und Einstellungen\name\Eigene Dateien\2000-2003*.tif" /i/c/y
)
Eine „For-Schleife“ die nach Kriterien sucht und die Dateien in ein Zielverzeichnis kopiert.
Wie kann ich jedem Dateinamen eine Zahl mitgeben die, die Datei eindeutig macht und sie damit nicht mehr überschrieben wird?
Beispiel:
Unterverzeichnis 1:
Hamster.tif
Unterverzeichnis 2:
Hamster.tif
Nach Ablauf der Batch:
Verzeichnis:
Hamster1.tif
Hamster2.tif
Dabei muss nicht geprüft werden ob die Datei bereits vorhanden ist.
Also im Prinzip nur stupides Durchnummerieren.
Danke euch.
Gruß
Sepp
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 94902
Url: https://administrator.de/forum/dateien-kopieren-und-durchnummerieren-anhaengen-an-dateinamen-94902.html
Ausgedruckt am: 28.04.2025 um 22:04 Uhr
1 Kommentar
Hallo KFCEmbryo und willkommen im Forum!
Soferne
Hamster1.tif
Hamster3.tif
Hamster6.tif
Hamster8.tif
Wenn Dir das schon genügt (der Zweck, doppelte Dateinamen zu vermeiden, wäre ja erfüllt), könntest Du es so versuchen:
Sollten auch Tiere mit "!" im Namen vorkommen, wäre die Verwendung eines Unterprogrammes nötig, damit diese "!" (und bei mehreren auch der Teil dazwischen) nicht verloren gehen ...
Dazu (und falls es doch fortlaufende Nummern sein sollen) siehe zB Ordnerhierarchie auf eine Ebene reduzieren?.
Grüße
bastla
Soferne
Dabei muss nicht geprüft werden ob die Datei bereits vorhanden ist.
Also im Prinzip nur stupides Durchnummerieren.
tatsächlich angewandt wird, kann Dein Ergebnis - für den Fall, dass es zwischen den ganzen Hamsten auch das eine oder andere Meerschweinchen gibt - allerdings anstelle von "Hamster1.tif" bis "Hamster4.tif" eher so aussehen:Also im Prinzip nur stupides Durchnummerieren.
Hamster1.tif
Hamster3.tif
Hamster6.tif
Hamster8.tif
Wenn Dir das schon genügt (der Zweck, doppelte Dateinamen zu vermeiden, wäre ja erfüllt), könntest Du es so versuchen:
@echo off & setlocal enabledelayedexpansion
set "Ziel=%userprofile%\Eigene Dateien\2000-2003.tif"
if not exist "%Ziel%\" md "%Ziel%"
set /a Nr=1
for /f "delims=" %%a in ('dir /b/s /O:D C:\steuern\*%2000%?????????????????????.tif ') do (
copy "%%a" "%Ziel%\%%~na!Nr!%%~xa">nul
set /a Nr+=1
)
Dazu (und falls es doch fortlaufende Nummern sein sollen) siehe zB Ordnerhierarchie auf eine Ebene reduzieren?.
Grüße
bastla