使用PowerShell 2.0遍历目录并在客户端中打印文件?

时间:2010-09-21 06:30:56

标签: powershell webdav

使用Powershell 2.0,是否可以在客户端安装的打印机上遍历目录和打印文件?

我得到了以下PowerShell脚本。它在共享网络驱动器上工作得很好,但是如何实际修改和使用它来查询WebDav文件夹的内容,然后在客户端(而不是服务器端)上只打印.PDF文件扩展名?

遍历目录的PowerShell脚本:

function print-file($file) {
    begin {
        function internal-printfile($thefile) {
            if ($thefile -is [string]) {
                $filename = $thefile
            }
            else {
                if ($thefile.FullName -is [string] ) {
                    $filename = $THEfile.FullName
                }
            }
            $start = new-object System.Diagnostics.ProcessStartInfo $filename
            $start.Verb = "print"
            [System.Diagnostics.Process]::Start($start)
        }

        if ($file -ne $null) {
            $filespecified = $true;
            internal-printfile $file
        }
    }
    process {
        if (!$filespecified) {
            write-Host process ; internal-printfile $_
        }
    }
}

dir *.pdf -r | print-file

1 个答案:

答案 0 :(得分:3)

以下命令应该可以实现 - 遍历目录中的所有文件,获取其内容并将内容发送到当前打印机。我测试了它并且工作正常:

Get-ChildItem . -filter *.* -recurse | get-content | out-printer

它会获取当前文件夹中的所有文件。