Powershell下载具有特定名称的文件

时间:2018-12-11 22:28:51

标签: powershell sharepoint binaryfiles

您好,谢谢。目前,我正在运行一个脚本,该脚本可以将文件从一个位置下载到另一个位置。我正在尝试清理脚本,以仅下载文件名中包含_Lthumb的文件。任何帮助将不胜感激。

我添加的以下行引起了问题。当我删除它时,脚本可以正常运行,但不会通过_Lthumb过滤数据:

| Where-Object {$_.Name -Match '*_Lthumb'}

这是脚本,包括上面破坏脚本的部分:

if((Get-PSSnapin | Where {$_.Name -eq "Microsoft.SharePoint.PowerShell"}) -eq $null) {
Add-PSSnapin Microsoft.SharePoint.PowerShell;
}
######################## Start Variables ########################
$destination = "\\pulse-dev.hinshawad.com\C$\ProfilePhotos\ProfilePictures"
$webUrl = "http://mysites.hinshawad.com"
$listUrl = "http://mysites.hinshawad.com/user photos/profile pictures/"
##############################################################
$web = Get-SPWeb -Identity $webUrl
$list = $web.GetList($listUrl)
function ProcessFolder {
param($folderUrl)
$folder = $web.GetFolder($folderUrl)
foreach ($file in $folder.Files | Where-Object {$_.Name -Match '*_Lthumb'} ) {
#Ensure destination directory
$destinationfolder = $destination + "/" + $folder.Url 
if (!(Test-Path -path $destinationfolder))
{
$dest = New-Item $destinationfolder -type directory 
}
#Download file
$binary = $file.OpenBinary()
    #$stream = New-Object System.IO.FileStream($destinationfolder + "/" +     $file.Name), Create
$stream = New-Object System.IO.FileStream($destinationfolder + "/" +     ($file.Name -replace "_Lthumb")), Create
$writer = New-Object System.IO.BinaryWriter($stream)
$writer.write($binary)
$writer.Close()
}
}
#Download root files
ProcessFolder($list.RootFolder.Url)
#Download files in folders
#foreach ($folder in $list.Folders)   {

#ProcessFolder($folder.URL)
#}

0 个答案:

没有答案