我需要合并位于一个文件夹中的多个 PDF 文件(PDF源)。
我有这两个文件夹:
PDF源
PDF决赛
我在一个文件夹中有多个 PDF 文件(PDF源) 具有不同的文件名。需要合并在一起的 PDF 将具有共同的部分文件名;例如:
AU2925-0.pdf
AU2925-3.pdf
U8163-0.pdf
U8163-1.pdf
U8163-2.pdf
U8163-3.pdf
U8163-4.pdf
U8299-0.pdf
U8299-4.pdf
我想使用部分文件名将所有文件合并到一个文件中,U8163在这种情况下。
我需要检查文件夹中的所有文件名(PDF源),如果存在 5 个以相同文件名开头的文件,则将它们合并,并将最终文件保存在单独的文件夹中(PDF决赛)并删除源文件(U8163-0.pdf、U8163-1.pdf、U8163-2.pdf、U8163-3.pdf、U8163-4.pdf)。
我有pdftk和电源外壳安装在我的电脑上。
答案1
谢谢你的回答。我苦思冥想了两天,最后决定在这里发一个问题。是的,我在网上到处寻找类似的问题,也找到了一些小窍门。睡了几个小时后,我终于写出了一个可以按我的需求运行的脚本。
这是脚本:
$destinationDir = "destination folder"
$storageDir = "storage folder"
$sourceDir = "source of PDF files"
$filesByCommonBaseName = Get-ChildItem -Path $sourceDir -Filter "*.PDF" |Group-Object { ($_.Name -split '-')[0] }
foreach($entry in $filesByCommonBaseName){
Write-Host "Operating on files starting with $($entry.Name)"
if($entry.Count -eq 5){
# we found five matches, move them!
pdftk.exe $entry.Group CAT OUTPUT $destinationDir\$($entry.Name).pdf
$entry.Group |Move-Item -Destination $storageDir -Force
}
}