我在将文件复制到另一个目录时尝试复制文件的元数据。 但是,我注意到用户名(上次修改文件或创建文件的人)没有使用元数据。 我查看了文件对象的所有属性,但无法看到与文件作者相关的任何属性。
这是我的powershell脚本
$Source = "C:\Users\someuser\SharePoint\Budget - Documents\Temp Datasources\Test"
$Destination = "C:\Users\someuser\SharePoint\Storm - General\Test"
$Files = Get-ChildItem -Path $Source
ForEach($File In $Files){
#Construct Destination file path
$DestinationFile = [System.IO.FileInfo] (Join-Path -Path $Destination -ChildPath $File.Name)
Write-Verbose -Message "Destination File $DestinationFile " -Verbose
Copy-Item -Path $File.FullName -Destination $DestinationFile -Force
#Verify if the file was copied and exists before copying over properties and attributes.
if($DestinationFile.Exists){
$DestinationFile.CreationTime = $File.CreationTime
$DestinationFile.LastAccessTime = $File.LastAccessTime
$DestinationFile.LastWriteTime = $File.LastWriteTime
$DestinationFile.Attributes = $File.Attributes
}
}
感谢您的帮助
答案 0 :(得分:0)
基于讨论Here 看起来这些细节实际上并不是属性的一部分,而是word和excel文档的扩展。您必须为Word或Excel加载一个com对象,并使用它来读取这些额外的属性。
我提供的链接确实有链接到ScriptingGuy Post,在那里他介绍了这个(仅限Word,但我相信你可以为excel修改它)