当我将文件复制到另一个目录时,我正在尝试复制文件的元数据。但是,我注意到用户名(上次修改文件或创建文件的人)没有使用元数据。我查看了File对象的所有属性,但看不到与该文件作者相关的任何属性。
这是我的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
}
}
谢谢您的帮助
根据讨论Here,似乎这些细节实际上不是属性的一部分,而是word和excel文档的扩展。您必须为Word或Excel加载一个com对象,并使用它来读取这些额外的属性。
我提供的链接确实有链接到ScriptingGuy Post,在那里他介绍了这个(仅限Word,但我相信你可以为excel修改它)