我想将所有版本保留的文档从一个列表复制到另一个列表。我使用SpFileCollecion.Add复制。但是,对于主要版本,我无法更新和保留所有属性。
对于其他次要版本,updateOverWriteVersion()可以工作。
对于主要版本,即使我维护源项目的所有属性。当我发布时,一切都会改变。 我尝试了SystemUpdate(),但用户修改后将更改为当前。
我也尝试了CheckOut()。但是它将创建一个新版本。而且我无法删除当前版本。
$FileDest = $ListDest.RootFolder.Files.Add($urlDestFile, $streamFile, $hashSourceProp, $usercreatedBy, $userModifiedBy, $dateCreatedOn, $dateModifiedOn, $strVerComment, $true
$FileDest.Item["Author"] = $usercreatedBy.ID
$FileDest.Item["Editor"] = $userModifiedBy.ID
if( (($ListDest.EnableMinorVersions -eq $true) -and ($ListDest.EnableVersioning -eq $true) ) -and ($IfMajorVer) ){
$FileDest.Item.SystemUpdate()
$FileDest.Publish($strVerComment)
} else {
$FileDest.Item.UpdateOverwriteVersion()
}
具有签到结帐功能,但不起作用
$FileDest.CheckOut()
$FileDest.CheckIn($strVerComment,[Microsoft.SharePoint.SPCheckinType]::MajorCheckIn)
$temp.Delete()
$FileDest.Item.Versions[$i-1].Delete()