Windows 10 rename Befehl?
Hallo
ich habe ein Problem mit den ren Befehl in Windows 10
Bisher ging es wenn ich eingab:
ren *.* 1*.*
aber nun macht er folgendes:
statt Otto.exe in 1Otto.exe umzunennen nennt er die Datei 1.exe
wie kommt das? Ich denke dass sich ein Dos Befehl ändert ist doch eher unwahrscheinlich.
Gibt es eine einfache möglichkeit 200 unterschiedlich benamte Dateien mit einem Zusatz zu versehen, also einem Text...
Ich habe nun gerade gemerkt dass er was ganz anders macht:
Die Datei
MallorcaUrlaub2019.jpg nennt er um bei dem Befehl in:
ren *.* 2019*.* als ergebnis:
2019orcaUrlaub2019.jpg
also er löscht die Zeichen statt diese dazu zu machen....
Danke
2 Antworten
rename/ren mit Wildcards arbeitet ersetzend!
Der Befehl ist schon immer schlecht dokumentiert und kann zu recht seltsam anmutenden Ergebnissen führen. (prollig ausgedrückt "Pain in the Ass"😤🤯😠)
https://www.dostips.com/forum/viewtopic.php?t=3788
Überlass die Auswahl dessen, was getan werden soll nicht den den Tücken von rename.
Bequemer ist es mit dem for und rename:
@echo off
chcp 65001 >nul
::zur demo ein paar Dateien erzeugen, welche zu meiner verwendeten Suchmaske passen
(call )>blubblaber.txt
(call )>blubbMuhhh.txt
(call )>blubbRumpel.txt
rem suche alle Dateien, welche mit "blubb" beginnen (*.* wären alle Dateien, *.jpg alle irgendwas.jpg)
rem umbenenne des in %%a übergebenen Dateinamen in 2019in %%a übergebenen Dateinamen
for %%a in (blubb*.*) do (ren "%%a" "2019%%a")
pause
direkt in cmd eingegeben mit einfachem %
for %a in (*.jpg) do (ren "%a" "2019%%a")
Auf diese Art kann man auch wunderbar Bedingungen für spezielle Fälle festlegen:
@echo off
chcp 65001 >nul
(call )>blubblaber.txt
(call )>blubbMuhhh.txt
(call )>blubbRumpel.txt
(call )>blubbMallorcaUrlaub2019.jpg
for %%a in (blubb*.*) do (call :renameIt "%%a")
pause
exit /b
rem hier was mit den Dateinamen genau passieren soll wenn die Bedingung zutrifft
:renameIt
set "QuellName=%~1"
set "ZielName=%QuellName%
rem ersetze alle Muhhh durch Stier
set "ZielName=%ZielName:Muhhh=Stier%"
set "ZielName=%ZielName:2019=%"
rem wenn der Dateiname Mallorca enthält entferne blubb und mach aus "Mallorca" "Malle"
echo "%ZielName%"|find /i "Mallorca" >nul && (
set "ZielName=%ZielName:blubb=%"
call set "Zielname=%%Zielname:Mallorca=Malle%%
call set "Zielname=%%Zielname:Urlaub=Faulenzia%%
)
set "Zielname=2019.%Zielname%"
ren "%QuellName%" "%Zielname%"
Nimm:
https://www.heise.de/download/product/kuknet-filerenamer-45583
Immer wieder mal sehr hilfreich.