【问题标题】:Grep on Windows for pptx files用于 pptx 文件的 Windows 上的 Grep
【发布时间】:2018-05-02 04:51:11
【问题描述】:

我有一个充满PowerPoint演示文稿(pptx)的目录。我正在尝试查找其中包含“December”一词的演示文稿。在我的 Mac 中,我可以使用 grep,但在 Windows 中,我一直在尝试使用 Powershell 和命令提示符,但它不起作用。

我尝试搜索其他帖子,但我发现的是这样的“other post

我尝试在命令提示符下使用findstr /s /i /m "\<december.*" *.*,但它只返回一个 .doc 文件,没有任何 pptx 文件。我知道我有一些 pptx 文件,其中包含“十二月”一词。

我还在 Powershell 中尝试了以下操作:

Location = "C:users\mary\desktop
SearchStr = "december"
Sel = Select-String -pattern SearchStr -path Location
If (Sel -eq null)
{
    write-host "Location does not contain SearchStr
}
Else
{
    write-host "Found 'n Sel"
}
Write-host "end"

我知道该文件无法读取。我希望它查看目录。

任何帮助将不胜感激。

【问题讨论】:

  • "我尝试搜索其他帖子,但我发现的是类似这样的内容"其他帖子" - 而且.. 你读过其他帖子吗?因为 Ryan 对答案解释了为什么你不能这样做。pptx 文件被压缩。见stackoverflow.com/a/1249827/478656 以及。
  • Google 可能是你的朋友,我的 very first result 带有关键字 powershell search ppt 看起来很有希望
  • @TessellatingHeckler - 我的文件没有压缩。我不需要解压缩它们。这对我来说是一个非常陌生的概念。
  • @LotPings - 如果你仔细阅读这篇文章,你会发现这篇文章来自某人在使他的代码工作时遇到问题并寻求帮助。他没有回复。我需要一些有效的东西,而不是更多无效的代码。
  • 我不知道有一个 Powershell 模块用于 powerpoint 以简化处理 ppt(x) 文件,而无需像ImportExcelPSExcel for Excel 那样安装 MsOffice。因此,您必须使用 COM 对象并从 PowerShell 远程控制 PowerPoint。 Word 和 Excel 有示例,PowerPoint 的示例较少。如果您习惯于 vba for powershell,那么您知道 powerpoint 公开的对象、方法、枚举,并且也可以通过 powershell 使用它们——我不是。很明显,您的简单化 grep 方法行不通,如果您真的感兴趣,我指出了一种您可以付出一些努力的方法。

标签: powershell powerpoint command-prompt findstr select-string


【解决方案1】:

pptx 文件不是纯文本文件。它实际上是一个 zip 文件(使用 7-Zip 解压出来看看)。搜索你的方式不会产生很好的结果,如果有的话。作为测试,在 Notepad++ 中打开 pptx 并查看它的外观。也许您可以调整https://blogs.technet.microsoft.com/heyscriptingguy/2012/08/01/find-all-word-documents-that-contain-a-specific-phrase/ 来为 pptx 做您想做的事情,或者在您知道纯文本不起作用的情况下搜索其他解决方案。

【讨论】:

    猜你喜欢
    • 2018-08-29
    • 1970-01-01
    • 2016-09-18
    • 1970-01-01
    • 2015-03-12
    • 1970-01-01
    • 2012-02-23
    • 2012-02-09
    相关资源
    最近更新 更多