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

PowerShell无法重命名无扩展名的SharePoint 2019文件

解决SharePoint 2019无扩展名文件重命名问题

问题根源

直接修改列表项的Name字段对无扩展名文件无效,因为SharePoint中文件的重命名需要操作文件对象(SPFile),而非仅修改列表项的属性值——无扩展名文件的元数据关联逻辑和带扩展名的不一样,单纯改列表项Name不会触发文件系统层面的重命名操作。

修正后的可行脚本

$web = Get-SPWeb "https://sp.domain.com/sites/somesite"
$docs = $web.Lists["DocTest"]
$rootFolderUrl = $web.ServerRelativeUrl + "/" + $docs.RootFolder.Url

foreach($doc in $docs.Items){
    Write-Host "当前文件: $($doc["Name"])"
    if($doc.Name -eq "test"){
        $newFileName = 'test.pdf'
        # 获取对应文件对象,用MoveTo完成重命名
        $file = $web.GetFile($doc.Url)
        $file.MoveTo("$rootFolderUrl/$newFileName", $true)
        Write-Host "重命名完成: $newFileName"
    }
}
# 释放SPWeb资源,避免内存占用
$web.Dispose()

注意事项

  • MoveTo方法的第二个参数$true代表如果目标文件已存在则覆盖,不需要覆盖的话改成$false即可
  • 必须通过GetFile获取真实的文件对象,不能仅操作列表项
  • 脚本执行需要对应SharePoint站点的编辑权限,否则会报错

内容的提问来源于stack exchange,提问作者Will73

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 16:22:03