Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch - Alle Dateien umbenennen

Frage Entwicklung Batch & Shell

Mitglied: kruczie

kruczie (Level 1) - Jetzt verbinden

19.05.2006, aktualisiert 22.05.2006, 7833 Aufrufe, 3 Kommentare

Hallo Kollegen, ich stehe im Moment tierisch auf dem Schlauch dabei will ich etwas ganz einfachens machen und zwar: per Batch in einem Ordner aus allen Dateinamen alle Zahlen entfernen,
z.B. aus einem Dateinamen 123-qwer-tzui-20060514.* soll qwer-tzui.* werden.

Hoffe auf Unterstützung
Mitglied: Biber
19.05.2006 um 16:53 Uhr
Moin kruczie,

tja, wenn Du bei Dir standardmäßig "DelayedExpansion" eingestellt hast (so wie ich), dann macht das folgender lässig hingeworfener Oneliner vom CMD-Prompt aus:

01.
@For /L %z in (0,1,9)do @For /f "delims=" %i in ('dir /b /A:-d ')  do @(echo %~ni|findstr [%z]>nul) && Set "oldname=%~ni" && @ECHO ren "%~nxi" "!oldname:%z=!%~xi"
...wobei das @ECHO natürlich nur zur Demo ist.

Als Batch und mit ein paar Zeilenumbrüchen sieht das so aus (auch hier das ECHO löschen zum scharfmachen)

01.
::----snipp RemoveDigitsInFilename.bat 
02.
@echo off & setlocal EnableDelayedExpansion 
03.
For /L %%z in (0,1,9) do (  
04.
   For /f "delims=" %%i in ('dir /b /A:-d ')  do ( 
05.
     (echo %%~ni|findstr [%%z]>nul) && Set "oldname=%%~ni" && @echo ren "%%~nxi" "!oldname:%%z=!%%~xi" 
06.
)) 
07.
::----snapp RemoveDigitsInFilename.bat
Hope that Helps
Biber
Bitte warten ..
Mitglied: Biber
20.05.2006 um 11:03 Uhr
Kleiner Nachtrag....

Der Batch oben works as designed, ist aber aus zwei Gründen verbesserungswürdig.
a) strategisch
So wie die Schleifen aufgebaut sind, wird ja nicht nur jede zu entfernende Ziffer im Dateinamens-Text einzeln verarbeitet,
sondern auch jeweils einzeln mit "ren altername neuername" umbenannt.
Beispiel: "Bild_1239.jpg" wird umbenannt in "Bild_239.jpg" in "Bild_39.jpg" in "Bild_9.jpg" in "Bild_".jpg.
Was alles den Anforderungen entspricht, aber natürlich stinkelangsam ist.
In der Praxis sollten also die Ziffernentfernung aus dem Dateinamen und das tatsächliche Umbenennen in zwei Schritten erfolgen.
"Rename" erst, wenn der endgültige Name feststeht.
Das hätte auch den Vorteil, dass siche eine andere "vorletzte" Umbenennungsregel einbauen lässt,
nämlich z.B. das Entfernen aller Bindestriche bis auf einen.
(Ersetze nach der Ziffernentfernung alle "--" durch "-" oder ähnliches : %oldname:--=-%)

b) konzeptionell
Von Design her greift der Batch auch zu kurz IMHO.
Ist zwar im ersten Schritt die richtige Idee, alle Ziffern zu entfernen... und alle Ziffern kann ich wie oben mit einer FOR /L ...IN..DO-Anweisung abfackeln.
In der Praxis werden aber nicht nur Ziffern stören, sondern auch Punkte, Striche und Unterstriche, die in der Regel ja bei Datums-Stamps im Dateinamen mit verwendet werden.
Deshalb würde ich statt der FOR /L -Anweisung (die kann nur Zahlen/Ziffern verarbeiten) besser eine normale FOR-Anweisung empfehlen.
01.
::----snipp RemoveDigitsInFilename.bat 
02.
@echo off & setlocal EnableDelayedExpansion 
03.
For %%z in (1 2 3 4 5 6 7 8 9 0 - _ .) do ( 
04.
   For /f "delims=" %%i in ('dir /b /A:-d ')  do ( 
05.
     (echo %%~ni|findstr [%%z]>nul) && Set "oldname=%%~ni" && ren "%%~nxi" "!oldname:%%z=!%%~xi" 
06.
)) 
07.
::----snapp RemoveDigitsInFilename.bat
Folgendes Beispiel ersetzt dann beliebige Zeichen:
01.
Z:\RemoveDigits> 
02.
$cmd$dir /b 
03.
bollerwagen-12.04.2006.txt 
04.
20051227weihnachtessen.jpg 
05.
 
06.
Z:\RemoveDigits> 
07.
$cmd$\RemoveDigitsInFilename.bat 
08.
Z:\RemoveDigits> 
09.
$cmd$dir /b 
10.
bollerwagen.txt 
11.
weihnachtessen.jpg
Der erste gepostete Schnipsel hätte -as designed - aus "bollerwagen-12.04.2006.txt" die Datei "bollerwagen-...txt" erzeugt.

Grüße
Biber
Bitte warten ..
Mitglied: kruczie
22.05.2006 um 10:11 Uhr
Hallo Biber,

perfekt - vielen Dank dafür.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch-Skript Schleife älteste Datei umbenennen
Beitrag von 9 Kommentare

Frage von pentadd zum Thema Batch & Shell

Batch & Shell
Batch Datei: PDF Dateien verschieben, umbenennen und löschen
Beitrag von 4 Kommentare

Frage von F0rcehunter zum Thema Batch & Shell

Batch & Shell
Alle Dateien in einem Ordner umbenennen
Beitrag von 5 Kommentare

Frage von l.scheper zum Thema Batch & Shell

Batch & Shell
Umbenennen entpackter Dateien nach Dateinamen der rar- zip-Datei
Beitrag von

Frage von windows-nutzer zum Thema Batch & Shell

Neue Wissensbeiträge
Vmware

VMware Desktopprodukte sind verwundbar

Beitrag von

Information von Penny.Cilin zum Thema Vmware

Datenschutz

Session-Replay: Viele beliebte Webseiten zeichnen jegliche Texteingabe auf

Beitrag von

Information von Penny.Cilin zum Thema Datenschutz

Sicherheit

Zufällige Speicherzuweisung: Windows-Bug hebelt Sicherheitsmechanismus ASLR aus

Beitrag von

Information von Penny.Cilin zum Thema Sicherheit

Multimedia

Raspberry Pi als Digital-Signage-Computer

Beitrag von 1 Kommentar

Information von BassFishFox zum Thema Multimedia

Heiß diskutierte Inhalte
Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail
Beitrag von 24 Kommentare

Frage von ahstax zum Thema Visual Studio

Windows Server
RDP macht Server schneller???
Beitrag von 16 Kommentare

Frage von JaniDJ zum Thema Windows Server

Windows Netzwerk
Netzwerk Neustrukturierung
Beitrag von 16 Kommentare

Frage von IT-Dreamer zum Thema Windows Netzwerk

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Beitrag von 15 Kommentare

Frage von Akcent zum Thema Windows 10