Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Dateinamen auslesen und Umbenennen

Frage Entwicklung Batch & Shell

Mitglied: Floggy

Floggy (Level 1) - Jetzt verbinden

08.07.2013 um 14:46 Uhr, 1743 Aufrufe, 7 Kommentare

Hallo Liebe Gemeinde

ich bräuchte mal wieder einen Batch ^^

Folgendes Szenario:

Ein Ordner wird mit Dateien befüllt die folgenden aufbau haben:
ede20c1ff9f6143e2486ed5b1435df78 - Klicke auf das Bild, um es zu vergrößern

Diese Dateien müssen umbenannt werden mit folgendem Aufbau:

rot_lila_grün

Könnt ihr mir dabei helfen`?

Danke
Mitglied: Endoro
08.07.2013 um 15:47 Uhr
Hallo Floggy,

mein Vorschlag mit sed:
>echo EEEL0001_000851_76136437_34364249|sed -r "s/(\w+)_(\w+)_(\w+)_(\w+)/\4_\2_\1/" 
34364249_000851_EEEL0001
lg
Bitte warten ..
Mitglied: Biber
08.07.2013, aktualisiert um 16:10 Uhr
Moin floggy,

ich würde da nicht so viel Heckmeck drum machen.

Am Cmd-Prompt in das verzeichnis mit den Dateien wechseln und dann
ohne das ">" am Anfang; das soll der Prompt sein
>for /f "delims=_ tokens=1-4" %a in ('dir /b /a-d "eeel0001_*_*_*"') do @echo ren "%a_%b_%c_%d" "%d_%b_%a"
Vorausgesetzt, di Dateien haben wirklich keine Extension - wenn doch, dann
- die tokens auf 1-5,
- die delims auf "_." und
- die Laufvariablen um %e erweitern.

Wenn ich den DIR-Befehl nur anwende auf alle Dateien der Konvention "eeeel0001_*_*_*", dann wäre mir das sicher genug.

Grüße
Biber
Bitte warten ..
Mitglied: Floggy
09.07.2013, aktualisiert um 08:36 Uhr
Die Konvention ist nicht immer "eeel0001" diese ist auch variable.
Und ich bräuchte eine Batchdatei, da der Ordner täglich mit hunderten Dateien gefüllt wird.
Bitte warten ..
Mitglied: Endoro
09.07.2013 um 09:01 Uhr
Hallo,

du brauchst mit sed kein besonderes Script.
Einfach den Befehl vom Kommandoprompt absetzen oder in eine BAT schreiben.
Sie dir den output an und lösch das Wort echo, wenn alles OK ist.

 dir /b /a-d |sed -nr "/(\w+)_(\w+)_(\w+)_(\w+)/s//echo ren \"^&\" \"\4_\2_\1\"/ep"
lg
Bitte warten ..
Mitglied: Floggy
09.07.2013 um 09:08 Uhr
@Endoro
Ich würde doch gerne bei einem "normalen" batch bleiben, da ich diese "SED" routine installieren müsste.

@Biber
ich werde deine Befehlszeile wie folgt probieren :
for /f "delims=_ tokens=1-4" %a in ('dir /b /a-d *_*_*_*') do @echo ren "%a_%b_%c_%d" "%d_%b_%a"
Bitte warten ..
Mitglied: Floggy
09.07.2013 um 09:14 Uhr
Ich versteh grad nichts mehr ^^
ich glaub ich mach mehr kaputt als zum funktionieren zu bringen -.-
Bitte warten ..
Mitglied: Floggy
09.07.2013 um 10:01 Uhr
gelöst


set "Ordner=C:\test"
pushd "%Ordner%"
pause
for /f "delims=_ tokens=1-4" %%i in ('dir /b /a-d *_*_*_*') do ren %%i_%%j_%%k_%%l %%l_%%j_%%i
popd
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Dateinamen auslesen und in einer Schleife benutzen (12)

Frage von TeholBeddict zum Thema Batch & Shell ...

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

Frage von windows-nutzer zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateien (PDF) umbenennen via batch, teilw. Dateinamen übernehmen, neues Präfix (6)

Frage von brause1701 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (52)

Frage von sabines zum Thema Internet ...

Netzwerke
LAN2LAN Verbindung sehr langsam flaschenhals gesucht (27)

Frage von PixL86 zum Thema Netzwerke ...

Router & Routing
PFsense - Netzverbindung steht, aber kein Internet vorhanden (24)

Frage von aschmid zum Thema Router & Routing ...

Windows Server
gelöst Windows 2016 Hyper-V und VHDS (19)

Frage von emeriks zum Thema Windows Server ...