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

Batch Alle Dateien in einem Ordner umbenennen Punkt durch Unterstrich ersetzen

Mitglied: holzhausen

holzhausen (Level 1) - Jetzt verbinden

11.04.2013 um 15:53 Uhr, 5100 Aufrufe, 7 Kommentare

Guten Tag,

ich möchte gern in einer Batch-Datei alle Dateien in einem Ordner umbenennen. Diet Dateien wurden alle mit "." benannt (Bsp: test.test.test.txt) Nun möchte ich nicht in allen dateien einzeln die Punkt entfernen sondern die per Batch machen.

Über die folgenden Befehle werden alle Punkte ersetzt:

for %%i in ("c:\rename\*.*.*") do (
set "neu=%%~nxi"
ren "%%i" "!neu:.=_!"
)

Leider habe ich das Problem, dass der letzte Punkt nicht ersetzt werden darf, da es sich hier um die Dateiendung handelt.

In dem folgenden Beispiel ist diese Umbenennung nachtäglich durch Stringopertaionen möglich:

set hallowelt=Hallo_Welt_pdf
set letzte=%hallowelt:~-3%
set erste=%hallowelt:~0,-4%
set neu=%erste%.%letzte%

Jedoch schaffe ich es leider nicht diese Idee in einer For-Schleife zu verwirklichen. Kann mir da jemand helfen oder gibt es eine einfachere Lösung?

So sieht meine Lösung bisher aus:

for %%i in ("c:\rename\*_???") do (
set "var=%%~nxi"
set ende=%var:~-3%
set anfang=%var:~0,-4%
set name="%anfang%.%ende%"

Leider wird hier die Variable "var" anscheinend nicht richitg interpretiert und es kann nicht erkannt werden, dass etwas "abgeschnitten" werden soll.

Danke.

Mit freundlichen Grüßen,

D
Mitglied: Endoro
11.04.2013, aktualisiert um 18:18 Uhr
Hallo holzhausen,

versuch doch mal:

01.
 @echo off&setlocal enabledelayedexpansion 
02.
for %%i in ("c:\rename\*") do ( 
03.
 set "neu=%%~ni"  
04.
 ren "%%~i" "!neu:.=_!%%~xi" 
05.
 )

Gruss!
Bitte warten ..
Mitglied: bastla
11.04.2013, aktualisiert um 19:48 Uhr
... aber nur, wenn in den Dateinamen kein "!" vorkommt - dann besser per Unterprogramm:
01.
@echo off & setlocal 
02.
for %%i in ("c:\rename\*.*.*") do set "neu=%%~ni" & call :ProcessFile "%%i" 
03.
goto :eof 
04.
 
05.
:ProcessFile 
06.
ren %1 "%neu:.=_%%~x1" 
07.
goto :eof
Wenn auch noch Ordner mit mehr als einem Punkt im Namen enthalten sein sollten (und die Umbenennung nur für Dateien erfolgen darf):
01.
@echo off & setlocal 
02.
pushd "c:\rename" 
03.
for /f "delims=" %%i in ('dir /b/a-d *.*.*') do set "neu=%%~ni" & call :ProcessFile "%%i" 
04.
popd 
05.
goto :eof 
06.
 
07.
:ProcessFile 
08.
ren %1 "%neu:.=_%%~x1" 
09.
goto :eof
Grüße
bastla
Bitte warten ..
Mitglied: Endoro
11.04.2013 um 23:11 Uhr
Hallo bastla,

die "call"s können auch direkt in der Forschleife gemacht werden.
Das Script wird nicht unbedingt schneller dadurch
01.
@echo off&setlocal 
02.
for %%i in (*) do ( 
03.
set "neu=%%~ni"  
04.
call set "neu=%%neu:.=_%%" 
05.
for /f "delims=" %%j in ('call echo "%%neu%%"') do ren "%%~i" "%%~j%%~xi" 
06.
)
Gruss!
Bitte warten ..
Mitglied: bastla
11.04.2013 um 23:17 Uhr
Hallo Endoro!
Das Script wird nicht unbedingt schneller dadurch
... aber Sicherheit geht vor.

Schneller wird's aber, wenn nicht alle Dateien behandelt werden müssen (deswegen die Vorgabe "*.*.*") ...

Grüße
bastla
Bitte warten ..
Mitglied: Endoro
12.04.2013 um 06:52 Uhr
Hallo bastla,

ich war auch zu freigiebig mit den calls:
01.
@echo off&setlocal 
02.
for %%i in (*.*.*) do ( 
03.
set "neu=%%~ni"  
04.
for /f "delims=" %%j in ('call echo "%%neu:.=_%%"') do ren "%%~i" "%%~j%%~xi" 
05.
)

Gruss!
Bitte warten ..
Mitglied: holzhausen
12.04.2013 um 07:13 Uhr
Vielen Dank!!! Das hat funktioniert!

Danke für die schnelle Hilfe!!!
Bitte warten ..
Mitglied: bugmenot2
29.09.2014, aktualisiert um 22:23 Uhr
Hallo,

ich habe ein ähnliches Problem. Ich möchte dateien mit ABC_123_a.pdf umbenennen in ABC.123_a.pdf

also der zweite unterstrich soll (wenn vorhanden, auch ABC_123.pdf in ABC.123.pdf sind möglich) bleiben und der erste durch einen punkt ersetzt werden.

wie müsste ich Endoros code dann abändern (sorry bin kein Programmierer)?
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Im Dateinamen den ERSTEN Unterstrich durch Punkt ersetzen (immer drittes Zeichen)

gelöst Frage von bugmenot2Batch & Shell9 Kommentare

Ich habe die Frage hier schon gestellt: jedoch bin ich mir nicht sicher ob das da noch jemand ließt ...

Batch & Shell

Punkt durch Komma ersetzen

Frage von TingelTangelbatchBatch & Shell9 Kommentare

Hallo, für eine batch Datei suche ich folgende Hilfe / Code: Ich habe monatlich ca. 10 Textdatein welche Werte ...

Batch & Shell

Mittels Batch Ordner umbenennen und Dateien kopieren

gelöst Frage von held.christophBatch & Shell12 Kommentare

Guten Tag allerseits Ich bin absoluter Leihe und konnte Dank mehr oder weniger grossen Suche in den Foren bereits ...

Batch & Shell

For f - In vielen Dateien Komma durch Punkt ersetzen

gelöst Frage von alleedxBatch & Shell2 Kommentare

Hallo zusammen, ich bräuchte ein wenig Hilfe bei der Erstellung einer Batch Datei. Sie soll in einem Ordner liegen ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 12 StundenHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 20 StundenRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 1 TagSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 1 TagWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Sicherheit
Verbindliche Zustellung per E-Mail?
Frage von ahussainSicherheit17 Kommentare

Hallo allerseits, ein Kunde von mir nutzt intensiv Fax. Hauptgrund: zusammen mit einer Empfangsbestätigung ist eine verbindliche Zustellung gewährleistet. ...

Sonstige Systeme
Wie Normenkataloge im Unternehmen bereit stellen?
Frage von MuzzepuckelSonstige Systeme14 Kommentare

Hallo Kollegen, ich lese schon lange hier mit, nun mein ersrer Beitrag, bzw. Frage. :-) Wir benötigen für unsere ...

SAN, NAS, DAS
Entscheidung SAN Dell oder HP
Frage von VincorSAN, NAS, DAS13 Kommentare

Hallo, wir wollen uns für unsere Hyper V Umgebung eine neue SAN Anschaffen. Es laufen 30 VM's darunter, DC; ...

Windows Installation
Kleines Büro - wie PCs einrichten? Domaincontroller sinnvoll?
Frage von Jonas42Windows Installation13 Kommentare

Hallo zusammen, ich überlege derzeit mal wieder, ob ich unsere IT ändern sollte. Es handelt sich um ein Ingenieurbüro ...