使用批处理文件或Powershell来计算包含图像的文件数量?

时间:2015-01-23 09:41:00

标签: powershell batch-file

我在一个文件夹中有许多word和pdf文档。我想选择每个文档来读取它,并且一旦在文件中检测到图像,就退出该文件并且在特定文本文件中更新fileWithImage的计数。 是否可以使用批处理文件或PowerShell代码?

1 个答案:

答案 0 :(得分:0)

这可能不是最优雅的方式,但它适用于Word文档中的内嵌和浮动图像。

这个例子只处理一个文件,你需要添加一个Get-Childitem并替换" word.docx"找到每个找到的项目的全名。

$word = New-Object -ComObject word.application
$word.Visible = $false

$doc = $word.documents.open("word.docx")

$found = $false

for ($i = 1; $i -le $doc.InlineShapes.Count; $i++)
{
    if ($doc.InlineShapes.Item($i).type -eq 3)
    {
        $found = $true
        break
    }
}
if (!$found)
{
    for ($i = 1; $i -le $doc.Shapes.Count; $i++)
    {
        if ($doc.Shapes.Item($i).type -eq 13)
        {
            $found = $true
            break
        }
    }
}
$word.Quit()
$found

Source VBA