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

Mitglied: kruczie

kruczie (Level 1) - Jetzt verbinden

19.05.2006, aktualisiert 22.05.2006, 7875 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 ini Datei Datei auslesen
gelöst Frage von Juergen42Batch & Shell2 Kommentare

Hallo zusammen, ich möchte eine ini Datei auslesen mit folgenden Aufbau INHALT DER INI ID=30 NAME="test1" PFAD="K:\Kontoauszug\Test1\*.pdf" PFAD_S="K:\Kontoauszug\Test1\Sicherung\" ID=28 ...

Batch & Shell
Batch Datei Ordnerüberwachung
Frage von Phant0xBatch & Shell1 Kommentar

Hallo zusammen, könntet ihr mir helfen eine Batch Datei zu schreiben, die einen bestimmten Ordner kontrolliert, ob sich Dateien ...

Batch & Shell
Batch-Datei erstellen
gelöst Frage von tocksickBatch & Shell2 Kommentare

Hallo liebe Gemeinde! Ich bin dabei eine Batch-Datei zu schreiben welche folgendes tun soll: Die Batch soll alle auf ...

Batch & Shell
Batch Datei Kopieren
gelöst Frage von FragerBatch & Shell17 Kommentare

Hallo Zusammen, ich bekomme es nicht hin ich muss aus einem Ordner (liegt auf einem Server) eine von vielen ...

Neue Wissensbeiträge
Humor (lol)
Administrator.de Perlen
Tipp von DerWindowsFreak2 vor 18 StundenHumor (lol)2 Kommentare

Hallo, Heute beim stöbern auf dieser Seite bin auf folgenden Thread aus dem Jahre 2006 gestossen: Was meint ihr? ...

Erkennung und -Abwehr
OpenSSH-Backdoor Malware erkennen
Tipp von Frank vor 1 TagErkennung und -Abwehr

Sicherheitsforscher von Eset haben 21 Malware-Familien untersucht. Die Malware soll Hintertüren via OpenSSH bereitstellen, so dass Angreifer Fernzugriff auf ...

iOS
WatchChat für Whatsapp
Tipp von Criemo vor 4 TageniOS5 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor!
Tipp von Criemo vor 5 TageniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
SSD zeigt falsche Werte
Frage von karl2014Festplatten, SSD, Raid25 Kommentare

Ich habe ein Problem mit der SSD in meinem Laptop mit Windows 10. Es ist eine 1Tb Platte die ...

Server-Hardware
WS 2016 Essentials Hardware
Frage von ChefknechtServer-Hardware23 Kommentare

Moin welche Hardware würdet ihr empfehlen? Dell Poweredge HP Proliant Fujitsu Ich bin total konfus was nun nötig ist, ...

Windows Server
Welche Option fürs Windows Server Installations besser
Frage von backitWindows Server22 Kommentare

Hi Zusammen, ich werde unserer AD (SBS 2011) und Exchange 2010 Servern auf neuen physikalischen Server umziehen. ich habe ...

Ubuntu
Installation freerdp 2.0.0-rc4
Frage von kristovUbuntu20 Kommentare

Hallo, möchte freerdp 2.0.0-rc4 auf linux mint 18.3 installieren, habe aber keine Ahnung, wie das funktioniert. freerdp 1.1 ist ...