我有一个包含 PDF 文件的文件夹 ( C:\1_PDF
)。有两种类型的文件名,330526.pdf
和000526.pdf
. 这些文件名确实发生了变化(按数字增加)330527.pdf
, 330528.pdf
, 330529.pdf
. 该000526.pdf
系列也是如此。
现在,我希望代码遍历文件夹中的文件,并合并所有文件名中最后四位数字相同的文件 ( xx**0526**.pdf
)。这些文件对可以有 1 个或 200 个。
合并本身不是问题,这就是我解决它的方法:
pdftk A=330526.pdf B=000526.pdf shuffle A B output RG-330526.pdf
但是循环是要我死的。我怎样才能做到这一点?
我经历了几乎所有我能在谷歌上找到的东西,但仍然没有解决方案。我希望我能在这里得到一些帮助。
我的 powershell 生锈了,但我可以帮助您取得成果。
首先,我们可以使用 powershell 的 Get-ChildItem 列出“第一”页,如下所示
接下来,我们遍历列表中的每个名称
让我们找到它的对,第二页
为您的输出创建一个名称
最后执行你的命令
出于测试目的,您可以将 iex 替换为 Write-Host 以获得将调用的命令的可视输出。
并结束 for 循环
按照现在的编写方式,您必须从 C:\1_PDF 运行它。
我希望这有帮助。
不工作,我尝试了不同的东西,没有机会让它工作。
这是代码:
$firstPageList = Get-ChildItem C:\Users\Test\Desktop\PDF_Temp\3* -File -Name
ForEach($firstPageList 中的$firstPage){
$secondPage = "e0" + $firstPage.substring(2)
$output = "RG-$firstPage"
#Invoke-Expression pdftk A=$firstPage B=$secondPage shuffle AB output $output Write-Host pdftk A=$firstPage B=$secondPage shuffle AB output $output
}
这是我得到的错误:
错误
Write-Host 对我来说看起来不错:
写主机
知道了!这完美地工作:
非常感谢西尔比!