小编S. *_* L.的帖子

使用powershell搜索pdf内容并输出文件列表

这是我想要做的:

我有一大堆各种格式的文件(大约一万个)。每个文件都可以定义为某种类型(例如:产品表、商业计划、报价、演示文稿等)。这些文件没有特定的顺序,不妨将其视为一个列表。我有兴趣按类型创建目录。

这个想法是,对于某种格式和某种类型,我知道要在文件内容中查找哪些关键字。我想要一个 powershell 脚本,它基本上执行一系列脚本,查找包含特定关键字的特定格式的所有文件,并将每个列表输出到单独的 csv。这里的关键点是关键字将在内容(pdf 的正文、excel 的单元格等)中,而不是在文件名中。到目前为止,我已经尝试了以下方法:

get-childitem -Recurse | where {!$_.PSIsContainer} |
select-object FullName, LastWriteTime, Length, Extension | export-csv -notypeinformation -delimiter '|' -path C:\Users\Uzer\Documents\file.csv  -encoding default
Run Code Online (Sandbox Code Playgroud)

这很好,并为我提供了完整的文件列表,包括它们的大小和扩展名。我正在寻找类似但按内容过滤的东西。有任何想法吗?

编辑:基于她下面的解决方案的新代码:

$searchstring = "foo"
$directory = Get-ChildItem -include ('*.pdf') -Path "C:\Users\Uzer\Searchfolder" -Recurse

foreach ($obj in $directory)
{Get-Content $obj.fullname | Where-Object {$_.Contains($searchstring)}| select-object FullName, LastWriteTime, Length, Extension | export-csv -notypeinformation -delimiter '|' -path C:\Users\Uzer\Documents\file2.csv  -encoding default}
Run Code Online (Sandbox Code Playgroud)

但是我收到了一堆这些错误:

 An object at the specified path C:[blabla]\filename.pdf does not exist, or has been filtered by …
Run Code Online (Sandbox Code Playgroud)

pdf powershell

3
推荐指数
2
解决办法
3万
查看次数

标签 统计

pdf ×1

powershell ×1