Небольшой фон.Powershell Сохранить вложения в подпапках в Outlook
В моих Входящих У меня есть подпапку Один Внутри этого письмо от кого-то с приложением под названием One.pdf в почтовом ящике у меня есть подпапка Два Внутри этого письмо от кого-то с приложением под названием Two.pdf В моей папке «Входящие» у меня есть подпапка «Собственная внутри», у меня есть подпапка под названием «Три». Внутри это письмо от кого-то с приставкой под названием Three.pdf в своем почтовом ящике я имею утра Email с приложением под названием Four.pdf
Inbox
-----One
--------Three
-----Two
еще со мной? :)
У меня есть требование сделать следующее.
Мне нужно разобрать почту и найти вложение .PDF и сохранить ее в другом месте на диске. Затем мне нужно разобрать подпапки в папке «Входящие». Если я найду .pdf, мне нужно сделать две вещи.
Мне нужно проверить, существуют ли папки и если они не созданы. Мне нужно сохранить .PDF в этой подпапке в папку, которую я только что создал.
В настоящее время я могу создать подпапки.
Моя проблема: я не могу создать правильные файлы в каждой подпапке. Infact прямо сейчас могу только создать four.pdf, и я могу создать это во всех подпапках.
В настоящее время я работаю с этим кодом.
$O=0
$Obj = New-Object -comobject outlook.application
$Name = $Obj.GetNamespace(“MAPI”)
$Mail = $Name.pickfolder()
$Path = "C:\Attached\"
$SubFolder = {
param(
$currentFolder
)
foreach ($item in $currentFolder.Folders) {
$Mail.Items | ForEach {
$O=$O+1
$_.Attachments | foreach {
$item.FolderPath
& $SubFolder $item
}
}
}
}
$Walk = & $SubFolder $Mail
ForEach ($Fo in $Walk){
$Fo.Items | ForEach {
$O=$O+1
$_.Attachments | foreach {
$Sub = $Fo
$Pos = $Sub.IndexOf("\")
$LeftPart = $Sub.Substring($Pos+28)
$FilePath = $Path + $LeftPart + "\"
If ($_.filename -like "*.PDF") {
$_
If (!(Test-Path -path $FilePath))
{
$Dest = New-Item $FilePath -type directory
}
$_.saveasfile((Join-Path $FilePath $_.filename))
}
}
}
}
Это позволяет выбрать папку Outlook и затем ничего не делать. Если я изменю $ Fo.Items на $ Mail.items, он создаст папки и четыре. Pdf
Я знаю, что $ Fo - это не то, что я хочу, но не знаю, какой отличием можно взять здесь.
Любой совет пожалуйста. Thanks