PowerShell-如何删除签名

PowerShell-如何删除签名,powershell,ms-word,Powershell,Ms Word,我制作了一个powershell脚本,用于检测MSWord文件中的签名。我希望脚本删除那些讨厌的签名 有人能帮忙吗?我找不到一个在这里有效的.delete $folder = "c:\test\*" $include = "*.doc", "*.docx" $word = new-object -comobject word.application $word.visible = $false Add-Type -AssemblyName System.Drawing Get-ChildIte

我制作了一个powershell脚本,用于检测MSWord文件中的签名。我希望脚本删除那些讨厌的签名

有人能帮忙吗?我找不到一个在这里有效的.delete

$folder = "c:\test\*"
$include = "*.doc", "*.docx"
$word = new-object -comobject word.application
$word.visible = $false
Add-Type -AssemblyName System.Drawing

Get-ChildItem -path $folder -include $include | ForEach-Object {
    $doc = $word.documents.open($_.fullname)
    $howmany = 0
    for ($i = 1; $i -le $doc.Shapes.Count; $i++) {
        if ($doc.Shapes.Item($i).type -eq [Microsoft.Office.Core.MsoShapeType]::msoPicture) {
            $howmany++
        }
    }
    if ($howmany -ne 0) {
        $_.name + " contient " + $howmany + " signature(s)"
    }
}
$word.quit()
cmd /c pause | out-null
如果$doc.Shapes枚举提供删除方法,我无法测试ATM,但您可以尝试以下方法: 在BenH的提示后编辑更改的脚本

## Q:\Test\2018\04\25\SO50023775.ps1
$folder = "c:\test\*"
$include = "*.doc","*.docx"
$word = new-object -comobject word.application
$word.visible = $false
Add-Type -AssemblyName System.Drawing

Get-ChildItem -path $folder -include $include | ForEach-Object {
    "Processing $($_.FullName)"
    $doc = $word.documents.open($_.fullname)
    $howmany = 0
    for ($i = 1; $i -le $doc.Shapes.Count; $i++) {
        if ($doc.Shapes.Item($i).type -eq [Microsoft.Office.Core.MsoShapeType]::msoPicture) {
            $howmany++
            $doc.Shapes.Item($i).Delete
        }
    }
    if ($howmany -ne 0) {
        $_.name + " contient " + $howmany + " signature(s)"
        $doc.save()
        $doc.close()
    }
}
$word.quit()
"press any key..."
cmd /c pause | out-null

是否要删除所有形状?或者只有最后一个?任何和所有属于签名形状集合的形状似乎都有一个标记。但是,您似乎需要对传入shape对象索引的shapes集合调用delete。无法运行。当它尝试删除时,我得到以下输出:void delete您可以尝试使用$Shape.delete并在$Shape.delete后面加上括号吗?成功了!我不得不在删除后加上一个$I,但它成功了!谢谢谢谢你的帮助!对不起,如果我没有马上接受答案,我不是很熟悉这个网站。再次感谢各位!