2014-10-29 3 views
0

У нас есть файл csv с примерно 8000 URL-адресами файла документа SharePoint. Файлы, о которых они говорят, должны быть загружены в папку общего доступа к файлам, а затем удалены из SharePoint. Файлы находятся не на тех же сайтах, а на нескольких сотнях ферм серверов. Мы хотим удалить только указанные файлы - НЕ всю библиотеку.Автоматическое удаление Powershell указанных документов SharePoint

У нас есть следующий сценарий для загрузки, который создает структуру папок, чтобы загруженные файлы были разделены.

param (
    [Parameter(Mandatory=$True)] 
[string]$base = "C:\Export\", 
    [Parameter(Mandatory=$True)] 
[string]$csvFile = "c:\export.csv" 
    ) 
write-host "Commencing Download" 
$date = Get-Date 
add-content C:\Export\Log.txt "Commencing Download at $date": 
$webclient = New-Object System.Net.WebClient 
$webclient.UseDefaultCredentials = $true 
$files = (import-csv $csvFile | Where-Object {$_.Name -ne ""}) 
$line=1 
Foreach ($file in $files) { 
$line = $line + 1 
    if (($file.SpURL -ne "") -and ($file.path -ne "")) { 
    $lastBackslash = $file.SpURL.LastIndexOf("/") 
    if ($lastBackslash -ne -1) { 
    $fileName = $file.SpURL.substring(1 + $lastBackslash) 
     $filePath = $base + $file.path.replace("/", "\") 
      New-Item -ItemType Directory -Force -Path $filePath.substring(0, $filePath.length - 1) 
     $webclient.DownloadFile($file.SpURL, $filePath + $fileName) 
     $url=$file.SpURL 
     add-content C:\Export\Log.txt "INFO: Processing line $line in $csvFile, writing $url to  $filePath$fileName" 
    } else { 
     $host.ui.WriteErrorLine("Exception: URL has no backslash on $line for filename $csvFile") 
    } 
    } else { 
    $host.ui.WriteErrorLine("Exception: URL or Path is empty on line $line for filename $csvFile") 
    } 
} 
write-Host "Download Complete" 

Есть ли способ получить версии для каждого файла?

Я искал средство для выполнения удаления, используя тот же файл csv, что и ссылка - весь код, который я видел, относится к удалению целых библиотек, что нежелательно.

Я очень новичок в PowerShell и теряюсь. Может ли кто-нибудь пролить свет?

Большое спасибо.

ответ

Смежные вопросы