MetaData Copy-Item未带来用户名

问题描述 投票:0回答:1

当我将文件复制到另一个目录时,我正在尝试复制文件的元数据。但是,我注意到用户名(上次修改文件或创建文件的人)没有使用元数据。我查看了File对象的所有属性,但看不到与该文件作者相关的任何属性。

enter image description here

这是我的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        

    }    
}

谢谢您的帮助

powershell
1个回答
0
投票

根据讨论Here,似乎这些细节实际上不是属性的一部分,而是word和excel文档的扩展。您必须为Word或Excel加载一个com对象,并使用它来读取这些额外的属性。

我提供的链接确实有链接到ScriptingGuy Post,在那里他介绍了这个(仅限Word,但我相信你可以为excel修改它)

© www.soinside.com 2019 - 2024. All rights reserved.