Ersten 10 Stellen eines Dateinamen mittels Batch Datei überprüfen
Hallo zusammen
Leider habe ich für mein Problem noch keine Lösung gefunden.
Ich muss es irgendwie schaffen, das wenn Dateien vom einen in den anderen Ordner kopiert werden, nur die ersten zehn Stellen der Dateinamen verglichen werden. Sind diese ersten zehn Stellen gleich, soll die Datei überschrieben werden.
Alles andere was in dem Dateinamen hinter den ersten zehen Stellen folgt soll keine Rolle spielen.
Weiss jemand, wie ich das mit einer Batch-datei umsetzen kann?
Grüße
Raedsche
Leider habe ich für mein Problem noch keine Lösung gefunden.
Ich muss es irgendwie schaffen, das wenn Dateien vom einen in den anderen Ordner kopiert werden, nur die ersten zehn Stellen der Dateinamen verglichen werden. Sind diese ersten zehn Stellen gleich, soll die Datei überschrieben werden.
Alles andere was in dem Dateinamen hinter den ersten zehen Stellen folgt soll keine Rolle spielen.
Weiss jemand, wie ich das mit einer Batch-datei umsetzen kann?
Grüße
Raedsche
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 114505
Url: https://administrator.de/forum/ersten-10-stellen-eines-dateinamen-mittels-batch-datei-ueberpruefen-114505.html
Ausgedruckt am: 24.05.2025 um 04:05 Uhr
11 Kommentare
Neuester Kommentar

Hallo Raedsche,
Gehen tut fast alles
Aber gib mal ein Beispiel der Dateinamen.
Wenn nur die ersten 10 Stellen verglichen werden und der Rest ungleich ist Überschreibst du ja eigentlich nicht. Soll der andere Dateiname dann gelöscht werden ?
Gruß
LotPings
Gehen tut fast alles
Aber gib mal ein Beispiel der Dateinamen.
Wenn nur die ersten 10 Stellen verglichen werden und der Rest ungleich ist Überschreibst du ja eigentlich nicht. Soll der andere Dateiname dann gelöscht werden ?
Gruß
LotPings
Hallo Radesche!
Dann etwa so (ungetestet):
Zur Sicherheit steht vor dem Lösch- (und auch vor dem Kopier-) Befehl ein "echo" - damit wird die Aktion nur angezeigt, aber nicht ausgeführt. Wenn die Testergebnisse vernünftig aussehen, das "echo" einfach entfernen (und am Ende des "copy"-Befehles noch ein "
Grüße
bastla
[Edit] * in Zeile 11 nachgereicht [/Edit]
Dann etwa so (ungetestet):
@echo off & setlocal
set "Von=D:\Quellordner"
set "Maske=*.pdf"
set "Nach=D:\Zielordner"
for %%i in ("%Von%\%Maske%") do call :ProcessFile "%%i"
goto :eof
:ProcessFile
set "Name=%~n1"
echo del "%Nach%\%Name:~,10%*%~x1"
echo copy %1 "%Nach%"
goto :eof
>nul
" anfügen) ...Grüße
bastla
[Edit] * in Zeile 11 nachgereicht [/Edit]

Hallo bastla,,
um alle Namen mit gleicher Barcodenummer zu löschen fehlt IMO ein Stern
Gruß
LotPings
um alle Namen mit gleicher Barcodenummer zu löschen fehlt IMO ein Stern
echo del "%Nach%\%Name:~,10%*.pdf"
Gruß
LotPings

Ändere
um in
Gruß
LotPings
copy %1 "%Nach%" ">nul"
move %1 "%Nach%" >NUL
Gruß
LotPings