You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改PnP脚本仅获取x000列非空的SharePoint文档库项

优化PnP脚本:仅获取指定列非空的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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 14:45:57