Ordner nach Dateien durchsuchen, in Zielverzeichnis kopieren und umbenennen
Hallo Forums-Community!
Ich habe noch sehr wenig (bis gar keine) Erfahrung mit Batch-Programmierung, deswegen erhoffe ich mir hier Hilfe zu finden.
Folgendes würde ich gerne machen:
Ein Verzeichnis C:\Users\JaZo27\TestName inklusive allen
Unterordner
C:\Users\JaZo27\TestName\1234A,...,C:\Users\JaZo27\TestName\5678BC,...
mit den weiteren Unterordner
C:\Users\JaZo27\TestName\1234A\Projektname_1,...
nach einer Datei xyz.dat durchsuchen.
Diese Datei (sofern vorhanden) heisst in allen Unterordnern immer gleich.
Nun möchte ich die Datei in ein Zielverzeichnis kopieren und in der Form umbenennen, dass der Pfad ein Teil des neuen Namens ist:
Aus
xyz.dat in C:\Users\JaZo27\TestName\1234A\Projektname_1
soll also
1234A_Projektname_1_xyz.dat in C:\Users\JaZo27\ZielName
werden.
Ich habe die Suchfunktion schon benutzt, konnte allerdings mit den gefunden Beispielen und Infos nur bedingt etwas anfangen.
Danke für euer Bemühen.
Gruss JaZo27
Ich habe noch sehr wenig (bis gar keine) Erfahrung mit Batch-Programmierung, deswegen erhoffe ich mir hier Hilfe zu finden.
Folgendes würde ich gerne machen:
Ein Verzeichnis C:\Users\JaZo27\TestName inklusive allen
Unterordner
C:\Users\JaZo27\TestName\1234A,...,C:\Users\JaZo27\TestName\5678BC,...
mit den weiteren Unterordner
C:\Users\JaZo27\TestName\1234A\Projektname_1,...
nach einer Datei xyz.dat durchsuchen.
Diese Datei (sofern vorhanden) heisst in allen Unterordnern immer gleich.
Nun möchte ich die Datei in ein Zielverzeichnis kopieren und in der Form umbenennen, dass der Pfad ein Teil des neuen Namens ist:
Aus
xyz.dat in C:\Users\JaZo27\TestName\1234A\Projektname_1
soll also
1234A_Projektname_1_xyz.dat in C:\Users\JaZo27\ZielName
werden.
Ich habe die Suchfunktion schon benutzt, konnte allerdings mit den gefunden Beispielen und Infos nur bedingt etwas anfangen.
Danke für euer Bemühen.
Gruss JaZo27
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 219525
Url: https://administrator.de/contentid/219525
Ausgedruckt am: 22.11.2024 um 16:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo JaZo27 und willkommen im Forum!
Wenn ich Dich richtig verstanden habe, sollte das etwa so zu machen sein:
Wegen des "
Grüße
bastla
Wenn ich Dich richtig verstanden habe, sollte das etwa so zu machen sein:
@echo off & setlocal
set "Datei=xyz.dat"
set "Quelle=C:\Users\JaZo27\TestName"
set "Ziel=C:\Users\JaZo27\ZielName"
md "%Ziel%" 2>nul
for /f "delims=" %%i in ('dir /s/b/a-d "%Quelle%\%Datei%"') do call :ProcessFile "%%i"
pause
goto :eof
:ProcessFile
for %%a in ("%~1\..") do set "Projekt=%%~nxa"
for %%a in ("%~1\..\..") do set "Kennzahl=%%~nxa"
echo copy %1 "%Ziel%\%Kennzahl%_%Projekt%_%~nx1"
goto :eof
echo
" in Zeile 14 werden die Kopierbefehle vorerst nur angezeigt, aber noch nicht ausgeführt - wenn Du es entfernst, wird auch kopiert.Grüße
bastla