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

Frage Entwicklung Batch & Shell

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, 4831 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
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 1 TagTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 1 TagSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 1 TagSicherheit9 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Sicherheit
Meltdown und Spectre: Die machen uns alle was vor
Information von FrankSicherheit29 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Ubuntu
Ubuntu - Starter für nicht vertrauenswürdige Anwendungen
Frage von adm2015Ubuntu17 Kommentare

Hallo zusammen, Ich verwende derzeit die Ubuntu Versionen 17.10 bzw. im Test 18.04. Ich habe mehrere .desktop Dateien in ...

SAN, NAS, DAS
Hilfe beim Einrichten eines Storages (SAN)
gelöst Frage von Vader666SAN, NAS, DAS15 Kommentare

Hallo Admins! Ich bin in einer kleineren Firma und hatte bisher mit dem Thema SAN nur in meiner Ausbildung ...

Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...