要使用PowerShell添加MS文件的详细属性/值,可以使用以下代码示例:
$filePath = "C:\path\to\file.docx"
$property = "Title"
$value = "My Document"
# 获取文件的详细属性
$shell = New-Object -ComObject Shell.Application
$folder = Split-Path $filePath
$file = $shell.Namespace($folder).ParseName((Get-Item $filePath).Name)
# 设置属性值
$file.InvokeVerb("Properties")
$propertyWindow = Get-Process | Where-Object { $_.MainWindowTitle -eq "属性" }
$propertyWindow.WaitForInputIdle()
$propertyWindow.MainWindow | ForEach-Object {
$propertyPage = $_.ChildWindows() | Where-Object { $_.WindowText -match "自定义" }
$propertyPage | ForEach-Object {
$propertyList = $_.ChildWindows() | Where-Object { $_.WindowText -match "项目" }
$propertyList | ForEach-Object {
$propertyItem = $_.ChildWindows() | Where-Object { $_.WindowText -match $property }
$propertyItem | ForEach-Object {
$valueBox = $_.ChildWindows() | Where-Object { $_.WindowText -match "值" }
$valueBox | ForEach-Object {
$_.SetText($value)
# 保存属性更改
$propertyWindow | ForEach-Object {
$okButton = $_.ChildWindows() | Where-Object { $_.WindowText -match "确定" }
$okButton | ForEach-Object {
$_.Click()
请确保将$filePath
变量设置为要操作的文件的路径,将$property
变量设置为要添加的属性名称,将$value
变量设置为要添加的属性值。
此代码将使用Shell COM对象打开文件的属性窗口,然后查找自定义选项卡以及包含属性名称和值的文本框,并设置属性值。最后,代码将保存更改。
请注意,此代码适用于Windows操作系统,并假定用户界面是英文的。如果用户界面是其他语言,则需要相应地修改窗口标题和文本框的匹配条件。