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

如何使用R下载SharePoint Online中Word文件的版本历史记录

SharePoint Online Word文件版本历史下载方案

方案1:手动下载(适合少量文件快速操作)

  • 打开目标Word所在的SharePoint文档库,找到文件右键选择版本历史记录
  • 在弹出的版本列表里,找到要下载的版本,点击版本右侧的三个点(更多选项),选择下载即可
  • 每个下载的版本会自动带上版本时间戳,方便区分不同版本

方案2:PowerShell批量下载(适合多版本或批量处理场景)

用PnP PowerShell可以自动化下载所有版本,步骤如下:

  1. 先安装PnP模块:Install-Module -Name PnP.PowerShell -Force -AllowClobber
  2. 连接到你的SharePoint站点:Connect-PnPOnline -Url "https://你的租户域名.sharepoint.com/sites/你的站点名" -Interactive
  3. 运行下面的脚本(记得替换里面的路径参数):
# 配置参数
$fileRelativeUrl = "/sites/你的站点名/Shared Documents/目标Word文件.docx"
$saveDir = "C:\本地保存路径\版本历史"

# 创建保存目录
if (-not (Test-Path $saveDir)) { New-Item -ItemType Directory -Path $saveDir | Out-Null }

# 获取文件及版本信息
$targetFile = Get-PnPFile -Url $fileRelativeUrl -Includes Versions
foreach ($version in $targetFile.Versions) {
    # 生成带版本标识的文件名
    $versionDate = $version.Created.ToString("yyyyMMdd_HHmmss")
    $saveFileName = "$($targetFile.Name)_v$($version.VersionLabel)_$versionDate.docx"
    $fullSavePath = Join-Path -Path $saveDir -ChildPath $saveFileName

    # 下载版本
    Get-PnPFile -Url $version.Url -Path $saveDir -FileName $saveFileName -AsFile
    Write-Host "版本 $($version.VersionLabel) 已保存到: $fullSavePath"
}
  • 执行前确认你拥有该文档库的读取权限,脚本会自动把所有版本下载到指定目录

方案3:Microsoft Graph API(适合开发集成场景)

如果需要做自定义应用集成,用Graph API是合适的选择:

  • 先通过GET /sites/{site-id}/drive/root:/{文件相对路径}获取目标文件的ID
  • 调用GET /sites/{site-id}/drive/items/{file-id}/versions拿到所有版本的列表,里面包含每个版本的ID和元数据
  • 对每个版本,调用GET /sites/{site-id}/drive/items/{file-id}/versions/{version-id}/content即可下载该版本的内容,保存成文件
  • 注意需要提前申请对应权限,比如Files.Read.All或Sites.Read.All,授权使用Bearer Token

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 17:53:16