如何修改PnP脚本仅获取x000列非空的SharePoint文档库项
要实现只获取x000列非空的项,只需在Get-PnPListItem中添加筛选条件,同时指定仅加载必要列来提升性能,修改后的脚本如下:
#Parameters $SiteURL = "https://contoso.com/site" $ListName = "mylist" $SourceColumn = "x000" #Internal Name of the Fields $DestinationColumn = "x001" #Connect to PnP Online Connect-PnPOnline -Url $SiteURL -Interactive #仅获取x000列非空的项,同时只加载必要的列(ID和x000) $ListItems = Get-PnPListItem -List $Listname -PageSize 500 ` -Filter "$SourceColumn ne null" ` -Select @($SourceColumn, "ID") Write-host "Total Number of Valid List Items (x000非空):" $($ListItems.Count) #Copy Values from one column to another ForEach ($Item in $ListItems) { Set-PnPListItem -List $Listname -Identity $Item.Id -Values @{$DestinationColumn = $Item[$SourceColumn]} }
关键修改说明:
- 筛选非空项:通过
-Filter "$SourceColumn ne null"参数,直接在SharePoint端筛选出x000列不为空的项,避免本地遍历所有11000+项 - 仅加载必要列:添加
-Select @($SourceColumn, "ID"),只获取后续操作需要的列(项ID和源列值),减少数据传输量,提升脚本运行效率 - 输出有效项数量:修改输出提示,明确显示筛选后的有效项数量,方便验证结果
修改后脚本只会处理900个有有效值的项,大幅减少不必要的API调用,提升执行速度。
内容的提问来源于stack exchange,提问作者gz256
相关产品推荐
相关产品推荐

