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

gelöst Dateien mittels Batch umbenennen, dabei Sonderzeichen entfernen

Mitglied: pgmende

pgmende (Level 1) - Jetzt verbinden

12.05.2010 um 10:50 Uhr, 8285 Aufrufe, 5 Kommentare

Probleme beim Umbenennen von Dateien - Sonderzeichen machen Schwierigkeiten

Hallo!

Ich versuche gerade, abgespeicherte Emails (.eml-Dateien) mittels Batchdatei umzubenennen. Betriebssystem: Windows 2000 Prof. / Windows XP Prof.

Mein Ziel ist es, in den Dateinamen den Absender und den Betreff, zumindest gekürzt, unterzubringen.
Die Batch sieht bis dahin folgendermaßen aus:
01.
@echo off & setlocal 
02.
 
03.
SET pfad=D:\EMail-Backup 
04.
 
05.
FOR /F %%i IN ('dir /b %pfad%\*.eml') DO CALL :Datenex %%i 
06.
 
07.
exit 
08.
 
09.
:Datenex 
10.
FOR /F "TOKENS=*" %%s IN ('type %pfad%\%1 ^| find "Subject: "') DO SET subject=%%s 
11.
FOR /F "Tokens=1 delims=<" %%t IN ('type %pfad%\%1 ^| find "From: "') DO SET from=%%t 
12.
SET subject=%subject:?utf-8?q?=% 
13.
SET subject=%subject:^==% 
14.
SET subject=%subject:?iso-8859-1?Q?=% 
15.
SET subject=%subject:?ISO-8859-1?B?=% 
16.
SET subject=%subject:^=C3^=A4=ae% 
17.
SET subject=%subject:~9,20% 
18.
echo. 
19.
echo %subject% 
20.
SET from=%from:"=% 
21.
SET from=%from:\=% 
22.
SET from=%from:(=% 
23.
SET from=%from:?UTF-8?Q?=% 
24.
SET from=%from:^==% 
25.
SET from=%from:~6,15% 
26.
echo %from% 
27.
:EOF
Das Umbenennen findet hier noch nicht statt - mir werden aktuell nur die Ergebnisse angezeigt, aber:
Probleme macht mir folgende Zeile:
01.
SET subject=%subject:^=C3^=A4=ae%
Ich habe nämlich Mails, die im Betreff folgendes haben:
Subject: =?utf-8?q?T=C3=A4glicher_Spambericht_Mailbox

Die Fragezeichen bekomme ich ja weg, aber die ISTGLEICH (=) - Zeichen nicht, da die ja als Teil des Befehls verwendet werden. Das Maskieren mit ^ hat scheinbar keine Auswirkung. Was mache ich da falsch, bzw. wie muß das richtig maskiert werden?
Bin für jeden Tip dankbar

Viele Grüße,
Andreas
Mitglied: LotPings
12.05.2010 um 13:01 Uhr
moin Andreas,

wenn das dekodieren von "Encoded Words" in Mime Headern so einfach wäre siehe RFC2047, dann könnte es ja jeder

Zu deinem Problem,
ändere die enthaltenen Gleichheitszeichen zu Anfang in etwas anderes um, dazu eignet sich der delims der for schleife.
01.
@Echo off 
02.
set "subject=Subject: =?utf-8?q?T=C3=A4glicher_Spambericht_Mailbox" 
03.
Echo Original %subject% 
04.
for /f "tokens=1-10 delims==" %%A in ("%subject%" 
05.
  ) do set "subject=%%A#%%B#%%C#%%D#%%E#%%F#%%G#%%H#%%I#%%J" 
06.
echo.         %subject% 
07.
SET "subject=%subject:?utf-8?q?=%" 
08.
SET "subject=%subject:?iso-8859-1?Q?=%" 
09.
SET "subject=%subject:?ISO-8859-1?B?=%" 
10.
SET "subject=%subject:#C3#A4=ae%" 
11.
SET "subject=%subject:#=%" 
12.
SET "subject=%subject:~9,20%" 
13.
echo.Ziel     %subject%
Du solltest auch um Probleme mit sonderzeichen zu vermeiden den set Befehl in Anführungszeichen setzen.

Gruß
LotPings
Bitte warten ..
Mitglied: pgmende
12.05.2010 um 13:20 Uhr
Besten Dank, LotPings!

Das führt genau zum Ergebnis. Saustark!

Viele Grüße,
Andreas
Bitte warten ..
Mitglied: Biber
12.05.2010 um 13:48 Uhr
Moin pgmende und LotPings,

wenn allerdings klar sein sollte, dass 90% oder mehr der zu archivierenden Malis die "Täglichen Spamberichte" sind und genau diesen Betreff haben, dann würde ich aus Performance und Wartbarkeitsgründen genau diesen konkreten Fall (ggf vorab) abfackeln.

Beispiel ab CMD-Prompt:
01.
>set "mySubject=Subject: =?utf-8?q?T=C3=A4glicher_Spambericht_Mailbox" 
02.
 
03.
>echo Set mysubject=%mysubject:*glicher_Spambericht=Subject: Täglicher_Spambericht% 
04.
Set mysubject=Subject: Täglicher_Spambericht_Mailbox
Grüße
Biber
Bitte warten ..
Mitglied: pgmende
12.05.2010 um 14:12 Uhr
Hallo Biber,

besten Dank für den Tip.
Die Quote wird aber bei weitem nicht erreicht. Jedoch konnte ich das Problem der Maskierung mit LotPings Tip umgehen. Richtig perfomant ist das Ganze nicht, fällt im Moment aber nicht weiter ins Gewicht.
Ich frage mich nur, ob die Umbenennungsorgie mit "sed" (GnuWin32) etwas komfortabler, performanter und sicherer wäre....

Viele Grüße,
Andreas
Bitte warten ..
Mitglied: Biber
12.05.2010 um 15:04 Uhr
Moin pgmende,

Zitat von pgmende:
Richtig perfomant ist das Ganze nicht, fällt im Moment aber nicht weiter ins Gewicht.
Ich frage mich nur, ob die Umbenennungsorgie mit "sed" (GnuWin32) etwas komfortabler, performanter und sicherer wäre....

Dazu drei eher abstraktere Gedanken (ohne Codefragmente).

1) Wenn es stabil funktioniert ("Ergebnis passt") und es keinen stört, ob der unbeaufsichtigte Batchlauf nun 12 Sekunden oder 112 Sekunden dauert.. so what? Lass den Schnipsel so so und füge bestenfalls noch ein paar kommentarzeilen dazu, falls du dort erst in einem halbem Jahr für irgendeine Anpassung reinschauen musst.

2) Ja, mit sed ginge es sicherlich flotter, aber erstens nicht les- und wartbarer und zweitens... falls du noch keine Berührungspunkte mit sed hattest, brauchst du erstmal drei Stunden, um dich da reinzufummeln.... und wenn der mögliche Performanzgewinn sagen wir mal 10 Sekunden wären, dann gilt nach Adam Riese und Biber:
Einmaliger Einarbeitungs/Entwicklungsaufwand für Umstellung auf SED = 3 Stunden = = 180 Minuten 10800 Sekunden
Tägliche (Lauf-)Zeitersparsparnis = 10 Sekunden
---> Eine Rechtfertigung für die drei Sed-Aufwandsstunden hast du erst nach 1080 Tagen, erst dann "rechnet" es sich. Also irgenwann im Jahr 2013.
Anders sähe es aus, wenn du 108 Sekunden pro Tag Laufzeit einsparst... dann "rechnet" es sich nach 100 Tagen, also nach deinem Urlaub.

3) Ich habe auch mit regelmäßig (oft mehrmals täglich) eintrudelnen generierten Mails zu kämpfen in meiner Outlook-Mailbox und benenne die meist per VBA-Makro automatisch beim Eintreffen um. Solltest du auch überlegen, falls diese Mails bei dir in der Anzeige auch den Betreff "Subject: =?utf-8?q?T=C3=A4glicher_Spambericht_Mailbox" haben.

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Dateien umbenennen - ersten Zeichen entfernen

Frage von jan999Batch & Shell4 Kommentare

Moin! meine bessere Hälfte hat mich nach der Lösung folgender Aufgabe gefragt - eine Idee habe ich. Nur weiß ...

VB for Applications

Mit VB Script Sonderzeichen in Datei und Ordnernamen umbenennen

Frage von SirMcFrostyVB for Applications2 Kommentare

Folgendes Szenario: Einige Datei und/oder Ordnernamen besitzen Sonderzeichen(-kombinationen) die nun geändert/umbenannt werden müssen Beispiel: Aus ""Geschäftsüberlassung" soll wieder "Geschäftsüberlassung" ...

Ubuntu

Ubuntu - Sonderzeichen aus Dateinamen entfernen

gelöst Frage von HenereUbuntu3 Kommentare

Servus zusammen, ich habe hier eine Fotosammlung auf nem Webserver mit root-Zugriff liegen. Ich würde gerne rekursiv die Dateien ...

Batch & Shell

Mit PowerShell mehrere Sonderzeichen aus einer XML datei entfernen

gelöst Frage von GeretConditBatch & Shell2 Kommentare

Hallo meine Lieben mit Administratoren, ich musste vor kurzem ein kleines PowerShell Script verfassen um ein bestimmtes Sonderzeichen aus ...

Neue Wissensbeiträge
Router & Routing

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

Erfahrungsbericht von the-buccaneer vor 4 StundenRouter & Routing1 Kommentar

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 17 StundenSicherheit

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 23 StundenWindows Update2 Kommentare

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

Microsoft Office

MS Office 2019 ohne OneNote - OneNote App speichert nur in Cloud

Information von Deepsys vor 1 TagMicrosoft Office5 Kommentare

Microsoft zeigt deutlich wohin alles bei Ihnen geht, OneNote 2019 wird es nicht mehr geben, und die Windows 10 ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
Server SSD: NVMe PCIe 3.0 RAID?
Frage von bouneeFestplatten, SSD, Raid15 Kommentare

Hallo liebe Admins, mir stellt sich gerade die Frage, ob ein neuer Server mit SSD NVMe PCIe 3.0 Sinn ...

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

Windows 10
Windows 10 Startmenü-Einstellungen Systemweit festlegen
Frage von flotautWindows 1013 Kommentare

Guten Morgen liebe Admins, wir möchten bei uns am Lehrstuhl demnächst auf Windows 10 umsteigen. Wir installieren unsere PC's ...

LAN, WAN, Wireless
OpenVPN Client Fehlermeldungen
Frage von chris84LAN, WAN, Wireless12 Kommentare

Hallo Zusammen, wir nutzen seit kurzem einen neuen Router und den OpenVPN Client. Die VPN Verbindung klappt; allerdings kommen ...