Verzeichniss überwachen Datei kopieren und umbenennen
Hallo,
Habe folgendes Problem:
In einem Verzeichniss sind Dateien mit dem Suffix ".nd" enthalten. Bsp. "00000010.nd"
Ich brauche eine Kopie dieser Datei ohne Führende nullen und mit der Endung ".eia" Bsp. "10.eia"
Bis dahin ist das auch soweit kein Problem.
Mein bisheriger Code sieht so aus:
Das funktioniert auch soweit ganz gut.
Ändere ich jetzt "00000010.nd" muß eine neue Datei (oder die vorhandene) mit der Endung "10.eia" erstellt/geändert werden.
Nur lasse ich es ein zweites mal laufen, bekomme ich immer die Meldung, daß die Datei schon vorhanden ist.
Ich nehme an, das die For-Schleife diese Meldung ausgibt, da ja die Datei "10.eia" schon Existiert.
Würde die For-Schleife ohne Nachfrage die schon vorhandene Datei "10.eia" einfach überschreiben,
währe mein Problem gelöst.
Habe folgendes Problem:
In einem Verzeichniss sind Dateien mit dem Suffix ".nd" enthalten. Bsp. "00000010.nd"
Ich brauche eine Kopie dieser Datei ohne Führende nullen und mit der Endung ".eia" Bsp. "10.eia"
Bis dahin ist das auch soweit kein Problem.
Mein bisheriger Code sieht so aus:
@echo off & setlocal enableDelayedExpansion
xcopy *.nd *.eia /D/Y
For %%a in (0???????.nd) do Set /a "Name=1%%~na-100000000" & ren %%a !name!.eia
Ändere ich jetzt "00000010.nd" muß eine neue Datei (oder die vorhandene) mit der Endung "10.eia" erstellt/geändert werden.
Nur lasse ich es ein zweites mal laufen, bekomme ich immer die Meldung, daß die Datei schon vorhanden ist.
Ich nehme an, das die For-Schleife diese Meldung ausgibt, da ja die Datei "10.eia" schon Existiert.
Würde die For-Schleife ohne Nachfrage die schon vorhandene Datei "10.eia" einfach überschreiben,
währe mein Problem gelöst.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 331766
Url: https://administrator.de/forum/verzeichniss-ueberwachen-datei-kopieren-und-umbenennen-331766.html
Ausgedruckt am: 23.04.2025 um 06:04 Uhr
6 Kommentare
Neuester Kommentar
Hi,
entweder Du nimmst statt "ren" ein "copy" mit anschließendem "del" oder vor dem "ren" ein "del"
(nicht getestet)
E.
entweder Du nimmst statt "ren" ein "copy" mit anschließendem "del" oder vor dem "ren" ein "del"
@echo off & setlocal enableDelayedExpansion
xcopy *.nd *.eia /D/Y
For %%a in (0???????.nd) do Set /a "Name=1%%~na-100000000" & copy %%a !name!.eia & del %%a
@echo off & setlocal enableDelayedExpansion
xcopy *.nd *.eia /D/Y
For %%a in (0???????.nd) do Set /a "Name=1%%~na-100000000" & del !name!.eia & ren %%a !name!.eia
(nicht getestet)
E.