使用powershell将文件从outlook输出到文件夹然后输出到指定的打印机

时间:2016-03-29 08:26:59

标签: powershell printing outlook

$OutputFolder = 'C:\tests';

$outlook = New-Object -ComObject Outlook.Application; 
$olFolderInbox = 6;
$ns = $outlook.GetNameSpace("MAPI"); 
$inbox = $ns.GetDefaultFolder($olFolderInbox);
$inbox.Folders `
    | ? Name -eq 'colour' `
    | % Items `
    | % Attachments `
    | % {
        $OutputFileName = Join-Path -Path $OutputFolder -ChildPath $_.FileName;
        if (Test-Path $OutputFileName) {
            $FileDirectoryName = [System.IO.Path]::GetDirectoryName($OutputFileName);
            $FileNameWithoutExtension = [System.IO.Path]::GetFileNameWithoutExtension($OutputFileName);
            $FileExtension = [System.IO.Path]::GetExtension($OutputFileName);

            for ($i = 2; Test-Path $OutputFileName; $i++) {
                $OutputFileName = "{0} ({1}){2}" -f (Join-Path -Path $FileDirectoryName -ChildPath $FileNameWithoutExtension), $i, $FileExtension;
            }
        }
        Write-Host $OutputFileName;
        $_.SaveAsFile($OutputFileName)
    }`enter code here`

这很好用,虽然我试图通过插入代码来输出文件:

Foreach-Object { Start-Process -FilePath $_.FullName –Verb Print } -verbose

任何人都可以告诉我在哪里插入它,saveasfile不会将对象返回到管道。是否还有任何范围可以使用PowerShell来指定某个打印机?

提前致谢

0 个答案:

没有答案