该脚本可以很好地从“标题”列替换为“单行文本”,但使用“自定义列名”和“多行文本”会失败吗?
标题-单行文字
URLLInk -多行文本
作品
$item["Title"] = $item["Title"].Replace("72PRD","PRD")
失败
$item["URLLInk"] = $item["URLLInk"].Replace("72PRD","PRD")
这是发回PS的错误消息:
At D:\ps\ReplaceLinks1.ps1:10 char:27 + $value = $item["URLLink"] if($value -Contains "72PRD") { + ~~ Unexpected token 'if' in expression or statement. + CategoryInfo : ParserError: (:) [], ParseException + FullyQualifiedErrorId : UnexpectedToken
尝试了上面的脚本,以及许多变体
使用SP Powershell设置为多行文本的SharePoint列表列中的URL的基本搜索和替换
**THIS WORKED!!!!**
#MS testing script
Add-PSSnapin Microsoft.SharePoint.Powershell
$web = Get-SPWeb http://ADDRESS
$web.AllowUnsafeUpdates = $true
if($list = $web.Lists.TryGetList('LIST')){
foreach ($item in $list.Items){
$item['COLUMN-NAME'] = $item['COLUMN-NAME'] -replace 'TEXT', 'TEXT'
$item.SystemUpdate()
}
Write-Host 'Updated values in the list items are' -fore green
foreach ($item in $list.Items){
$item['LinkData']
}
}else{
Write-Host '"LIST" not found' -fore red
}