reissaus73
Goto Top

Dateien eines Ordners mit find welche 1234 im Namen haben umbenennen in x12345

Ich möchte in einem Ordner alle Dateien welche einen speziellen Suchstring enthalten umbenennen in _Suchstring

quasi alle Dateien welche 1234 enthalten wie Datei1234.zip Datei512345.zip in Datei xDatei1234.zip xDatei512345.zip

Wer kann mir diesbezüglich helfen, mein Ansatz war bisher folgender

For /F "tokens=3" %%i in ('dir /s *.zip ^|Find /i "1234') Do   

Content-Key: 305901

Url: https://administrator.de/contentid/305901

Printed on: April 24, 2024 at 13:04 o'clock

Mitglied: 129413
Solution 129413 Jun 01, 2016 at 12:41:35 (UTC)
Goto Top
for /f "delims=" %%a in ('dir /B /S /A-D "C:\Ordner\*1234*.zip"') do ren "%%a" "x%%~nxa"
Gruß skybird
Member: Biber
Solution Biber Jun 01, 2016 updated at 12:51:30 (UTC)
Goto Top
Moin reissaus73,

für diese Umbenennen-Aufgaben haben wir schon eine Musterlösung im Bereich "Batch & Shell".
Such mal nach "Musterlösung" mit der Forumssuche.

Grundsätzlich würde ich es direkt von der CMD-Line abfackeln,
Demo (die mit "@echo ren .." nur zeigt, was passieren würde):
C:\Users\Biber>for  /f "delims=" %i in ('dir x:\StartOrdner:\*1234*.zip /b /s /a-D^|findstr /v /C:"\x" ') do @echo Ren "%i" "x%~nxi"  

Mimik:
  • dir x:\StartOrdner:\*1234*.zip holt alle Dateen ab x:\StartOrdner und darunter mit Namen *1234*.zip mit vollständigem Pfad
  • findstr /v /C:"\x" filtert aus dieser Liste alle heraus, die bereits mit dem neuen Präfix "x" anfangen/bereits umbenamst sind.
Wenn das Ergebnis passt, dann die 5 Zeichen "@echo" weglassen.

Als Batch müssten die %-Zeichen in %%-Zeichen geändert werden.

Ungetestet.

Grüße
Biber
[Edit] skybird kann schneller tippseln als ich... face-wink [/Edit]
Member: reissaus73
reissaus73 Jun 06, 2016 at 18:26:25 (UTC)
Goto Top
Ich bedanke mich, das hat schon recht gut gepasst
Member: reissaus73
reissaus73 Jun 06, 2016 at 18:30:03 (UTC)
Goto Top
Vielen Dank auch dir, deine Lösung ist auch ganz gut.