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, 1737 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
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 ...

Batch & Shell
gelöst Dateinamen mit Batch-Datei ändern - Problem (9)

Frage von fffffuuuuuuuhhhh zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch: CPU-Auslastung eines Prozesses auslesen und als Variable definieren (3)

Frage von tralveller zum Thema Batch & Shell ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(2)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Statische Routen mit ISC-DHCP Server für Android Devices (22)

Frage von terminator zum Thema LAN, WAN, Wireless ...

Server
gelöst Wie erkennen, dass nur deutsche IPs Zugang zu einer Website haben? (22)

Frage von Coreknabe zum Thema Server ...

Exchange Server
gelöst Migration Exchange 2007 zu 2013 - Public Folder teilweise weg (16)

Frage von Andy1987 zum Thema Exchange Server ...

Outlook & Mail
Outlook 2010 mit Exchange 2016 (15)

Frage von slansky zum Thema Outlook & Mail ...