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-ID: 305901

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

Ausgedruckt am: 26.11.2024 um 12:11 Uhr

129413
Lösung 129413 01.06.2016 um 14:41:35 Uhr
Goto Top
for /f "delims=" %%a in ('dir /B /S /A-D "C:\Ordner\*1234*.zip"') do ren "%%a" "x%%~nxa"
Gruß skybird
Biber
Lösung Biber 01.06.2016 aktualisiert um 14:51:30 Uhr
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]
reissaus73
reissaus73 06.06.2016 um 20:26:25 Uhr
Goto Top
Ich bedanke mich, das hat schon recht gut gepasst
reissaus73
reissaus73 06.06.2016 um 20:30:03 Uhr
Goto Top
Vielen Dank auch dir, deine Lösung ist auch ganz gut.