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

Ordner auslesen und Ausgabe spliten

Frage Entwicklung Batch & Shell

Mitglied: mero59

mero59 (Level 1) - Jetzt verbinden

31.08.2013, aktualisiert 14:38 Uhr, 1368 Aufrufe, 2 Kommentare

Erst mal ein freundliches Hallo an alle,
ich bin neu hier und hoffe das ich hier meine Kenntnisse vertiefen kann bzw. mit meinen Kenntnisse den ein oder andern auch mal helfen kann.
Zu meinen Problem:
Mein Outlook 2010 speichert Mails mit Attachments in einen Ordner, dabei wird der Filename aus Sender-Email Adr., Subject und einen Date getrenntdurch & generiert.
Beispiel:
Sender ist :Max.Mustermann@musterhausen.com
Subject ist : Tagesmeldung
Dateiname wird dann: Max.Mustermann@musterhausen.com&Tagesmeldung&31082013
Nun möchte ich den Ordner mit den Dateien auslesen
- mir den String Max.Mustermann@musterhausen.com rausholen
- und diesen String prüfen ob dieser in einer Partnerdatei vorhanden ist
- wenn ja dann die Datei weiter verarbeiten
- wenn nein soll eine Email generiert werden mit Hinweis auf z.B Partner nicht vorhanden.

Komme jedoch mit meinen Lösungansatz da irgendwie nicht weiter

Code:
  1. --------------------------------------------------------------------------------
$files = Get-ChildItem "C:\Daten" # Ordner auslesen
foreach( $file in $Files )
{
if( $file)
{
$splitfilename = $File.name.split('&')

foreach($Objekt in Import-CSV $Partner_Email_File)
{$Objekt.Partner
$Objekt.Email_Adr
if ($Objekt.Email_Adr -eq $splitfilename[0]){

$Script:Partner_Email_File_Name = $Objekt.Partner
$Script:Partner_Email_File_Adr = $Objekt.Email_adr
Write-Log $Partner_Email_File_Adr
}
else
{
Write-log "partner nicht vorhanden"
}
}
Next_Step $Script:Partner_Email_File_Name
}
}



Diese Methode läuft zwar ohne Fehler durch jedoch das Ergebnis stimmt nicht:
Als Beispiel:
Es liegen 2 Dateien von bekannten Sender vor, die Ausgabe der Log zeigt mir dann 2 gefundene Partner jedoch auch 2 Einträge Partner nicht vorhanden
wo liegt da mein Gedankenfehler?


Mitglied: colinardo
31.08.2013, aktualisiert um 19:14 Uhr
Hallo mero59, WIllkommen im Forum !
probiers mal so:

01.
$files = Get-ChildItem "C:\Daten" # Ordner auslesen 
02.
foreach ($file in $Files) 
03.
04.
    $splitfilename = $File.name.split('&') 
05.
    $partnerName = $splitfilename[0] 
06.
    $partnerFound = $false 
07.
    foreach($Objekt in Import-CSV $Partner_Email_File) 
08.
09.
        $Objekt.Partner 
10.
        $Objekt.Email_Adr 
11.
        if ($Objekt.Email_Adr -eq $partnerName ){ 
12.
            $Script:Partner_Email_File_Name = $Objekt.Partner 
13.
            $Script:Partner_Email_File_Adr = $Objekt.Email_adr 
14.
            Write-Log $Partner_Email_File_Adr 
15.
            $partnerFound = $true 
16.
            break 
17.
18.
19.
     
20.
    if (!$partnerFound) 
21.
22.
         Write-log "Partner: '$partnerName' nicht vorhanden." 
23.
24.
     
25.
}
Das Problem bei deinem Code war das er bei jedem Eintrag in der CSV-Datei auf die der Name der Datei nicht passt, ausgegeben wird "Partner nicht gefunden". Bei der meiner Version beendet das Script die Schleife vorzeitig wenn der Partner gefunden worden ist, und die Ausgabe das ein Partner nicht vorhanden ist wird nachdem die Schleife alle Zeilen durchlaufen hat geprüft.

Grüße Uwe

p.s. Für die Zunkunft poste Code bitte mit Tags, damit uns keine Sonderzeichen verloren gehen. Merci.
Bitte warten ..
Mitglied: mero59
31.08.2013 um 19:33 Uhr
Hi Uwe,
perfekt das hat geklappt, tausend Dank

Lieben Gruß

Heiko
Bitte warten ..
Ähnliche Inhalte
Windows Userverwaltung
Mit Powershell am AD Controller die aktiven Usersessions auslesen (1)

Frage von arduino zum Thema Windows Userverwaltung ...

Windows 7
gelöst Batch für User-TEMP-Ordner und Inhalte löschen (2)

Frage von planetIT2016 zum Thema Windows 7 ...

Windows Installation
gelöst Vorinstalliertes Betriebssystem auslesen (BIOS) (14)

Frage von Yauhun zum Thema Windows Installation ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Windows Systemdateien
NTFS und die Defragmentierung (26)

Frage von WinLiCLI zum Thema Windows Systemdateien ...

LAN, WAN, Wireless
Zwei Subnetze mit je eigenem Router und Internetzugang verbinden (18)

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

Windows Server
WIndows Server 2016 core auf dem Intel NUC NUC5i5RYK i5 5250U (17)

Frage von IxxZett zum Thema Windows Server ...