Powershell从SharePoint文档库中删除文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Powershell从SharePoint文档库中删除文件相关的知识,希望对你有一定的参考价值。
我正在尝试使用以下脚本从服务器场中的SharePoint 2010中的多个SharePoint库中的多个文件:
$list = Get-Content $libpath
$web = Get-Spweb $url
$lib = $web.Lists | where { $_.title -eq $libname }
foreach ($libr in $lib) {
$file = $libr.Items
foreach ( $fil in $file) {
If ($fil.Name -eq $item) {
$fil.Delete()
}
}
}
问题是,即使库不是空的,$libr.Items
也是空的。
$libr.Files
$libr.Files.Name
所有都显示为空。
请帮忙解决它。谢谢
答案
请尝试以下代码。
Add-PSSnapin Microsoft.SharePoint.PowerShell
$SPWeb = Get-SPWeb "Provide your web here"
$docfiles = $SPWeb.GetFolder("Provide your Document Library name here").Files
foreach ($docfile in $docfiles) {
Write-host "File Name: " $docfile.Name
$docfile.Delete();
}
另一答案
不确定这是做什么的:
$lib = $web.Lists | where { $_.title -eq $libname }
foreach ($libr in $lib) {
在这种情况下$ lib应该是一个单独的库,为什么foreach?我可以建议您明确地获取库,然后验证它是否存在:
$lib = $web.lists.TryGetList($libname)
if ($lib) {
$items = $lib.items
foreach ($item in $items) {
#Your logic here
#Do you really want to delete? Maybe use $item.Recycle()
}
}
此外,如果您事先知道要删除的内容,请查看批处理,因为您可以更快地删除项目。
以上是关于Powershell从SharePoint文档库中删除文件的主要内容,如果未能解决你的问题,请参考以下文章
使用PowerShell为库中的SharePoint文件夹授予Active-Directory-Synced组权限
powershell 删除列表或库中的所有SharePoint列表项
powershell Powershell函数用于在库中的SharePoint中创建文件夹和子文件夹
错误代码:从 SharePoint 文档库中删除文件时出现 3604