Bestimmte Dateien kopieren, prüfen und umbenennen
Hallo
Ich will eigentlich bestimmte Dateien (mit Endung .xxx) verschieben, dabei müssen die umbennant werden und es soll sichergestellt werden, dass die auch sauber im Zielordner angekommen sind.
Das sind dann:
Schritt 1. Dateien selektieren und kopieren
Schritt 2. Kopiervorgang prüfen
Schritt 3. Datein im Zielordner umbenennen in zzzz_alterDateiname.xxx, dabei ist zzzz konstant
Schritt 4. Originaldateien löschen.
Könnt ihr mir bitte helfen? Ich komme da leider nicht weiter.
Ich will eigentlich bestimmte Dateien (mit Endung .xxx) verschieben, dabei müssen die umbennant werden und es soll sichergestellt werden, dass die auch sauber im Zielordner angekommen sind.
Das sind dann:
Schritt 1. Dateien selektieren und kopieren
Schritt 2. Kopiervorgang prüfen
Schritt 3. Datein im Zielordner umbenennen in zzzz_alterDateiname.xxx, dabei ist zzzz konstant
Schritt 4. Originaldateien löschen.
Könnt ihr mir bitte helfen? Ich komme da leider nicht weiter.
Please also mark the comments that contributed to the solution of the article
Content-Key: 68937
Url: https://administrator.de/contentid/68937
Printed on: April 18, 2024 at 00:04 o'clock
4 Comments
Latest comment
Na ja, da würde ich nicht soviel Heckmeck drum machen.
Wenn ich (gemäß der obigen Anforderung Schritt 1-4) Dateien kopieren, prüfen,umbenennen, Originale löschen soll und das wie unter ergänzt mit Xcopy --->übersetzt wohl: auch in Unterverzeichnissen, komme ich mit einer Zeile ohne XCopy schneller zu einer Lösung.
Ich würde mir einen beliebigen freien Laufwerksbuchstaben nehmen (in meinem Fall B: wie "BenutztNieEiner").
Um z.B alle b*.txt-Dateien in allen Unterverzeichnissen zu kopieren, umzubenennen und zu löschen, reicht dann ein Einzeiler:
Als Batchdatei ein wenig lesbarer formatiert und die "Suchmaske" (z.B. "C:\Dokumente und bla\Biber\b*.txt) und das Ziel-Root-Verzeichnis (z.B. "Y:\Eigene Dateien") als Parameter1 und Parameter2 übergeben, sähe es dann ungefähr so aus:
[vor mich hingetippselte, absolut ungetestete Skizze]
@AnwenderDummy
Aber ernsthaft helfen werde ich auch erst dann, wenn Du auch mal auf den Tisch legst, was Du nun schon vorliegen hast. Denn wahrscheinlich hast Du einen ganz anderen Lösungsweg eingeschlagen - und den können wir nur zu Ende führen, wenn Du Deine Skizze postest.
Gruß
Biber
Wenn ich (gemäß der obigen Anforderung Schritt 1-4) Dateien kopieren, prüfen,umbenennen, Originale löschen soll und das wie unter ergänzt mit Xcopy --->übersetzt wohl: auch in Unterverzeichnissen, komme ich mit einer Zeile ohne XCopy schneller zu einer Lösung.
Ich würde mir einen beliebigen freien Laufwerksbuchstaben nehmen (in meinem Fall B: wie "BenutztNieEiner").
Um z.B alle b*.txt-Dateien in allen Unterverzeichnissen zu kopieren, umzubenennen und zu löschen, reicht dann ein Einzeiler:
C:\Dokumente und Einstellungen\Biber <--- in diesem Verzeichnis stehe ich, nach Y:\Eigene Dateien\<relativer Pfad> sollen die Dateien
>dir /b /s /a-d b*.txt>Nul && subst b: . && (xcopy /t /s b:\b*.txt Y:\Eigene Dateien\*.*) && (for /r b:\ %i in ("b*.txt") do @echo move "%i" "y:\Eigene Dateien\%~piZzzZ_%~nxi") & subst b: /d
move "t:\Anwendungsdaten\Microsoft\Internet Explorer\brndlog.txt" "y:\Eigene Dateien\\Anwendungsdaten\Microsoft\Internet Explorer\ZzzZ_brndlog.txt"
Als Batchdatei ein wenig lesbarer formatiert und die "Suchmaske" (z.B. "C:\Dokumente und bla\Biber\b*.txt) und das Ziel-Root-Verzeichnis (z.B. "Y:\Eigene Dateien") als Parameter1 und Parameter2 übergeben, sähe es dann ungefähr so aus:
:: ---MoveWithRename.bat
@echo off
:: ....wenn es im und unterhalb des aktuellen Verzeichnisses gar keine "Suchmaske-"Dateien gibt: forget about it
dir /b /s /a-d "%~1">Nul || goto :eof
:: ... mach mir ein SUBST-Laufwerk namens B:
subst b: "~dp1"
xcopy /t /s "b:\%~nx1" "%~2\*.*"
for /r b:\ %%i in ("%~nx1") do ECHO move "%%i" "%~2\%%~piZzzZ_%%~nxi"
subst b: /d
@AnwenderDummy
Aber ernsthaft helfen werde ich auch erst dann, wenn Du auch mal auf den Tisch legst, was Du nun schon vorliegen hast. Denn wahrscheinlich hast Du einen ganz anderen Lösungsweg eingeschlagen - und den können wir nur zu Ende führen, wenn Du Deine Skizze postest.
Gruß
Biber