Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Rekursives kopieren und umbenennen von Dateien in neu anzulegenden Ordner

Frage Entwicklung Batch & Shell

Mitglied: net-agent

net-agent (Level 1) - Jetzt verbinden

30.01.2012 um 13:35 Uhr, 3636 Aufrufe, 3 Kommentare

Problem: Datensicherung eines Unix-Mailservers im mdir-Format unter Windows einlesen.

Hallo Leute, ich hoffe ihr könnt mir helfen.

Zur Situation: Ich habe hier eine Ordnerstruktur, die den Mailverkehr eines Unix-Mailservers beinhaltet. Die Daten wurden exportiert und sehen etwa wie folgt aus

Für jeden benutzer gibt es ein Accountverzeichnis. Innerhalb dieses Verzeichnisses sind nun mehrere Unterverzeichnisse vorhanden, ähnlich wie
man es auch aus Outlook kennt (Inbox, Archiv etc. Aber auch vom User selbs angelegte Strukturen).

In den Ordnern befinden sich nun die eigentliche E-Mails mit unterschiedlichen Dateinamen und ohne Dateierweiterung.
hängt man an eine solche Maildatei nun eine Erweiterung .eml an, so lässt sich die jeweilige Datei mit Outlook öffnen.
Haken an der Sache ist nun, dass die originale Datei nicht verändert werden darf/soll.


Bisher habe ich es so gemacht, dass ich in jeden Ordner gewechselt bin un dort über Batch folgende Befehle ausgeführt habe:

mkdir \umbenannt
xcopy * \umbenannt\*.eml

Da mir der Rechner zwischenzeitlich abgeschmiert ist, sind teilweise bereits "umbenannt"-Ordner angelegt, teilweise nicht.
Um nicht noch einmal alles erneut von Hand durchgehen zu müssen, suche ich nach einer Batch-Lösung, die folgendes erfüllt:

Aufgabe: Ordnerstrucktur rekursiv durchgehen.
Wenn kein Verzeichnis "umbenannt" besteht, dieses anlegen, die Dateien aus dem jeweiligen Verzeichnis dorthin kopieren und die
Erweiterung .eml anhängen.

Alternative: Gesamte Ordnerstrucktur mit ausnahme der Verzeichnisse "umbenannt" in ein neus Verzeichnis kopieren und dabei die Erweiterung
.eml an jede vorhandene Datei anhängen.

Wäre toll, wenn Ihr mir hierzu eine Lösung anbieten könntet.
Mitglied: bastla
30.01.2012 um 16:52 Uhr
Hallo net-agent und willkommen im Forum!

Das könnte (ungetestet) etwa so gehen:
01.
@echo off & setlocal 
02.
set "Ordner=D:\Mail-Ordner" 
03.
set "Neu=umbenannt" 
04.
 
05.
for /d /r "%Ordner%" %%i in (*) do ( 
06.
    if /i "%%~nxi" neq "%Neu%" if not exist "%%i\%Neu%" ( 
07.
        echo md "%%i\%Neu%" 
08.
        echo copy "%%i\*" "%%i\%Neu%\*.eml" 
09.
10.
11.
pause
Wegen der beiden echo in den Zeilen 7 und 8 zeigt der Batch vorerst nur an, was passieren wird, wenn diese echo entfernt werden ...

Grüße
bastla
Bitte warten ..
Mitglied: net-agent
31.01.2012 um 13:45 Uhr
Hallo bastla,

zunächst mal herzlichen Dank für die superschnelle Antwort.

Dein Script funktioniert super. Respekt!

Wenn man weiß wie es gehen sollte ist das Meiste auch nachvollziebar. Allerdings kann ich mit der Variable "%%~nxi" nichts anfangen.

Wäre nett, wenn du das nochmal kurz erläutern könntest.

Ich werde die Frage trotzdem schonmal als gelöst markieren.


Nochmals Danke und beste Grüße...

net-agent
Bitte warten ..
Mitglied: bastla
31.01.2012 um 15:25 Uhr
Hallo net-agent!
Allerdings kann ich mit der Variable "%%~nxi" nichts anfangen.
Ein intensiver Blick in die Online-Hilfe (for /?, ziemlich am Ende) sollte das eigentlich ändern ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Alle Dateien in einem Ordner umbenennen (5)

Frage von l.scheper zum Thema Batch & Shell ...

Batch & Shell
gelöst Verzeichniss überwachen Datei kopieren und umbenennen (6)

Frage von fischle63 zum Thema Batch & Shell ...

Windows Server
Ordner umbenennen nicht möglich (8)

Frage von carbon1X zum Thema Windows Server ...

Batch & Shell
gelöst Kopieren einer Datei in mehrere Ordner mit PowerShell (7)

Frage von FRANHE zum Thema Batch & Shell ...

Neue Wissensbeiträge
Humor (lol)

Taschenrechner in IOS kaputt!

(5)

Information von Lochkartenstanzer zum Thema Humor (lol) ...

Sicherheit

Kanadischer Geheimdienst veröffentlicht erstmals Sicherheitssoftware

(3)

Information von BassFishFox zum Thema Sicherheit ...

Virtualisierung

Docker Monitoring und Steuerung per "sen"

Tipp von Frank zum Thema Virtualisierung ...

Heiß diskutierte Inhalte
Windows 7
Abbruch bei Brennvorgang (19)

Frage von Simulant zum Thema Windows 7 ...

Router & Routing
Externe IP von innen erreichbar machen (16)

Frage von Windows10Gegner zum Thema Router & Routing ...

Firewall
WIndows 7 RDP Massen Angriff (14)

Frage von Motte990 zum Thema Firewall ...