Ordner auslesen und Ausgabe spliten
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:
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){
$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?
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:
- --------------------------------------------------------------------------------
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){
$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?
Please also mark the comments that contributed to the solution of the article
Content-Key: 215775
Url: https://administrator.de/contentid/215775
Printed on: April 26, 2024 at 19:04 o'clock
2 Comments
Latest comment
Hallo mero59, WIllkommen im Forum !
probiers mal so:
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.
probiers mal so:
$files = Get-ChildItem "C:\Daten" # Ordner auslesen
foreach ($file in $Files)
{
$splitfilename = $File.name.split('&')
$partnerName = $splitfilename
$partnerFound = $false
foreach($Objekt in Import-CSV $Partner_Email_File)
{
$Objekt.Partner
$Objekt.Email_Adr
if ($Objekt.Email_Adr -eq $partnerName ){
$Script:Partner_Email_File_Name = $Objekt.Partner
$Script:Partner_Email_File_Adr = $Objekt.Email_adr
Write-Log $Partner_Email_File_Adr
$partnerFound = $true
break
}
}
if (!$partnerFound)
{
Write-log "Partner: '$partnerName' nicht vorhanden."
}
}
Grüße Uwe
p.s. Für die Zunkunft poste Code bitte mit Tags, damit uns keine Sonderzeichen verloren gehen. Merci.