我有一个文件夹,其中包含多个名为xxx_xxx_01.05.2017.pdf
的pdf文件。
每天我还有一个文件,我启动这个脚本来合并它们并保存D:\123\DB052017.pdf
。
目标是在合并当月的所有文件后自动创建新文件。
下一个文件适用于xxx_xxx_01.06.2017.pdf
等新月份,我想创建一个名为DB062017.pdf
的新文件,依此类推......
Add-Type -Path C:\assemblies\PdfSharp.dll
Function Merge-PDF {
Param($path, $filename)
$output = New-Object PdfSharp.Pdf.PdfDocument
$PdfReader = [PdfSharp.Pdf.IO.PdfReader]
$PdfDocumentOpenMode = [PdfSharp.Pdf.IO.PdfDocumentOpenMode]
foreach($i in (gci $path *.pdf -Recurse)) {
$input = New-Object PdfSharp.Pdf.PdfDocument
$input = $PdfReader::Open($i.fullname, $PdfDocumentOpenMode::Import)
$input.Pages | %{$output.AddPage($_)}
}
$output.Save($filename)
}
Merge-PDF -path c:\fso -filename D:\123\DB052017.pdf
这是我为结束文件所做的:
Add-Type -Path C:\assemblies\PdfSharp.dll
$MonthName = (Get-Date).Month
$YearName = (Get-Date).Year
Function Merge-PDF {
Param($path, $filename)
$output = New-Object PdfSharp.Pdf.PdfDocument
$PdfReader = [PdfSharp.Pdf.IO.PdfReader]
$PdfDocumentOpenMode = [PdfSharp.Pdf.IO.PdfDocumentOpenMode]
foreach($i in (gci $path *.pdf -Recurse)) {
$input = New-Object PdfSharp.Pdf.PdfDocument
$input = $PdfReader::Open($i.fullname, $PdfDocumentOpenMode::Import)
$input.Pages | %{$output.AddPage($_)}
}
$output.Save($filename)
}
Merge-PDF -path c:\fso -filename D:\Users\h.yordanov\Desktop\WEBDams\Data\CHQ\HQ\DB$MonthName""$YearName.pdf
现在我需要获取或移动不同月份的文件夹中的文件。
答案 0 :(得分:0)
我想我做到了。在每个新的月份都会创建新的pdf,当月份结束时,所有文件都会被移动。 :)
Add-Type -Path C:\assemblies\PdfSharp.dll
$MYName = Get-Date -format y
$movepdfs = "C:\fso\*.pdf"
$a = (Get-ChildItem -path c:\fso).Name
$b = $a -replace '[^0-9]', ''
$c = $b.Substring(2,2)
$e= Get-Date -format MM
If ($c -lt $e) {
Move-Item $movepdfs c:\oldpdfs -WhatIf
}
Function Merge-PDF {
Param($path, $filename)
$output = New-Object PdfSharp.Pdf.PdfDocument
$PdfReader = [PdfSharp.Pdf.IO.PdfReader]
$PdfDocumentOpenMode = [PdfSharp.Pdf.IO.PdfDocumentOpenMode]
foreach($i in (gci $path *.pdf -Recurse)) {
$input = New-Object PdfSharp.Pdf.PdfDocument
$input = $PdfReader::Open($i.fullname, $PdfDocumentOpenMode::Import)
$input.Pages | %{$output.AddPage($_)}
}
$output.Save($filename)
}
Merge-PDF -path c:\fso -filename C:\WEB\Apache24\htdocs\WEBDams\Data\CHQ\HQ\1\$MYName.pdf