Batch: Umbenennen und Kopieren von Dateien in mehreren Verzeichnissen
Guten Morgen,
ich würde gerne in einer Batch-Datei unter anderem folgendes umsetzen:
Aus einer Netzwerkfreigabe soll eine bestimmte Datei in mehrere Verzeichnisse auf dem lokalen PC kopiert werden, vorher aber die jeweilge Originaldatei umbenannt werden.
Das Script soll also möglichst, ohne dass ich für jedes einzelne mögliche Verzeichnis eine eigene Zeile schreibe, die jeweiligen Unterverzeichnisse mit der bestimmten, darin enthaltenen Datei heraussuchen, die Datei umbenennen und danach die neue Datei aus der Netzwerkfreigabe hinein kopieren.
%appdata%\Test\Unter_Test 1\
%appdata%\Test\Unter_Test Test\
%appdata%\Test\Unter_Test 23\
usw.
in all diesen Verzeichnissen (beginnend mit "Unter...") liegt jeweils eine Datei Testdatei.tmp, die umbenannt werden soll in Testdatei.tmp.bak.
Anschließend soll eine neue Testdatei.tmp aus einer Netzwerkfreigabe in die vorherigen Verzeichnisse zurück kopiert werden.
Danke vorab und viele Grüße
ich würde gerne in einer Batch-Datei unter anderem folgendes umsetzen:
Aus einer Netzwerkfreigabe soll eine bestimmte Datei in mehrere Verzeichnisse auf dem lokalen PC kopiert werden, vorher aber die jeweilge Originaldatei umbenannt werden.
Das Script soll also möglichst, ohne dass ich für jedes einzelne mögliche Verzeichnis eine eigene Zeile schreibe, die jeweiligen Unterverzeichnisse mit der bestimmten, darin enthaltenen Datei heraussuchen, die Datei umbenennen und danach die neue Datei aus der Netzwerkfreigabe hinein kopieren.
%appdata%\Test\Unter_Test 1\
%appdata%\Test\Unter_Test Test\
%appdata%\Test\Unter_Test 23\
usw.
in all diesen Verzeichnissen (beginnend mit "Unter...") liegt jeweils eine Datei Testdatei.tmp, die umbenannt werden soll in Testdatei.tmp.bak.
Anschließend soll eine neue Testdatei.tmp aus einer Netzwerkfreigabe in die vorherigen Verzeichnisse zurück kopiert werden.
Danke vorab und viele Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1566360608
Url: https://administrator.de/forum/batch-umbenennen-und-kopieren-von-dateien-in-mehreren-verzeichnissen-1566360608.html
Ausgedruckt am: 19.04.2025 um 07:04 Uhr
7 Kommentare
Neuester Kommentar

Und, wo ist das Probem?! Ich sehe keine Frage in deinem Beitrag ...
Tutorial zur FOR-Schleife
@echo off
for /f "delims=" %%a in ('dir /b /s /a-d "%appdata%\Test\Testdatei.tmp"') do (
if exist "%%a.bak" del "%%a.bak" >nul 2>&1
ren "%%a" "%%~nxa.bak"
copy "\\Server\share\Testdatei.tmp" "%%~dpa"
)

Zitat von @marius83:
Der Teil in ('dir /b /s /a-d "%appdata%\Test\Testdatei.tmp"') müsste, falls das überhaupt möglich ist, durch Platzhalter erst einmal alle Unterverzeichnisse ermitteln, in denen eben diese Testdatei.tmp liegt.
Macht er schon per Default durch den Parameter /s, probiers aus Der Teil in ('dir /b /s /a-d "%appdata%\Test\Testdatei.tmp"') müsste, falls das überhaupt möglich ist, durch Platzhalter erst einmal alle Unterverzeichnisse ermitteln, in denen eben diese Testdatei.tmp liegt.
müsste dann in allen Unterverzeichnissen von \Test\ nach der Datei Testdatei.tmp gesucht werden, um diese dann umzubenennen UND durch die Datei aus der NW-Freigabe zu ersetzen.
Macht der Code von oben schon alles, fix und foxy ...Hättest du es zumindest mal ausprobiert dann wäre die Zwischenfrage überflüssig gewesen (aber war ja auch wieder keine Frage

Allerdings erhalte ich für den Teil des Umbenennens der .xml in .xml.bak einen Syntaxfehler.
Sorry kleiner Typo ... oben korrigiert. Tatschphone Autokorrektur mal wieder der Übeltäter ...
Zitat von @marius83:
Was sich hinter "%%~nxa.bak" verbirgt, muss ich mir noch mal genauer ansehen, da bin ich bisher nicht so fit...
Was sich hinter "%%~nxa.bak" verbirgt, muss ich mir noch mal genauer ansehen, da bin ich bisher nicht so fit...
for /?
in die Konsole eintippen, da stehts ganz unten.PS: Das delmims= solltest Du in Deinem Beitrag vielleicht noch in delims= umbenennen, falls das noch ein anderer User verwenden wollen sollte. 
Done.