使用 PowerShell 访问 "Date Last Saved"
Accessing the "Date Last Saved" using PowerShell
我正在尝试使用 PowerShell 访问 xls 文件 的上次保存日期。它在详细信息页面中,更多的是文件的隐藏属性。附上图片供参考。
编辑:感谢您的帮助。两种解决方案都有效,但我处于受限语言模式,所以我不能使用它们:(
之前我有一个讨论如何检索基本文件信息的答案,但是要访问 Office 文件信息,您需要做更多的工作...
,我制作了一个 PowerShell 函数来让您轻松完成此操作。
用法
Get-OfficeFileInfo C:\temp\UsersOfabc.comDomain.xlsx
Name Exp
---- ---
Title
Subject
Author
Keywords
Comments
Template
Last author Stephen Owen
Revision number
Application name Microsoft Excel
Creation date 7/21/2021 11:30:51 AM
Last save time 7/21/2021 11:30:51 AM
Security 0
Category
Format
Manager
Company
Hyperlink base
Content type
Content status
Language
Document version
得到你想要的特定属性
$fileInfo = Get-OfficeFileInfo C:\temp\UsersOfabc.comDomain.xlsx
$dateSaved = $fileInfo | ? Name -eq "Last save time"
C:\temp\> $dateSaved.Exp
Wednesday, July 21, 2021 11:30:51 AM
为了这个有点迷茫,但我找到了下面的。
该属性不是文件属性的一部分。它是工作表属性的一部分(许多属性也是如此)。
全部归功于脚本专家 Ed Wilson 和 Craig Liebendorfer - https://devblogs.microsoft.com/scripting/hey-scripting-guy-how-can-i-read-microsoft-excel-metadata/
$excel = New-Object -ComObject Excel.Application
$excel.Visible = $false
$workbook = $excel.Workbooks.Open("C:\temp\Test.xlsx")
$binding = "System.Reflection.BindingFlags" -as [type]
Foreach($property in $workbook.BuiltInDocumentProperties){
if ([System.__ComObject].invokemember("name",$binding::GetProperty,$null,$property,$null) -eq "Last save time"){
[System.__ComObject].invokemember("value",$binding::GetProperty,$null,$property,$null)
}
}
$excel.quit()
我正在尝试使用 PowerShell 访问 xls 文件 的上次保存日期。它在详细信息页面中,更多的是文件的隐藏属性。附上图片供参考。
编辑:感谢您的帮助。两种解决方案都有效,但我处于受限语言模式,所以我不能使用它们:(
之前我有一个讨论如何检索基本文件信息的答案,但是要访问 Office 文件信息,您需要做更多的工作...
用法
Get-OfficeFileInfo C:\temp\UsersOfabc.comDomain.xlsx
Name Exp
---- ---
Title
Subject
Author
Keywords
Comments
Template
Last author Stephen Owen
Revision number
Application name Microsoft Excel
Creation date 7/21/2021 11:30:51 AM
Last save time 7/21/2021 11:30:51 AM
Security 0
Category
Format
Manager
Company
Hyperlink base
Content type
Content status
Language
Document version
得到你想要的特定属性
$fileInfo = Get-OfficeFileInfo C:\temp\UsersOfabc.comDomain.xlsx
$dateSaved = $fileInfo | ? Name -eq "Last save time"
C:\temp\> $dateSaved.Exp
Wednesday, July 21, 2021 11:30:51 AM
为了这个有点迷茫,但我找到了下面的。
该属性不是文件属性的一部分。它是工作表属性的一部分(许多属性也是如此)。
全部归功于脚本专家 Ed Wilson 和 Craig Liebendorfer - https://devblogs.microsoft.com/scripting/hey-scripting-guy-how-can-i-read-microsoft-excel-metadata/
$excel = New-Object -ComObject Excel.Application
$excel.Visible = $false
$workbook = $excel.Workbooks.Open("C:\temp\Test.xlsx")
$binding = "System.Reflection.BindingFlags" -as [type]
Foreach($property in $workbook.BuiltInDocumentProperties){
if ([System.__ComObject].invokemember("name",$binding::GetProperty,$null,$property,$null) -eq "Last save time"){
[System.__ComObject].invokemember("value",$binding::GetProperty,$null,$property,$null)
}
}
$excel.quit()