0
xxx_xxx_01.05.2017.pdf
という名前の複数のpdfファイルがあるフォルダが1つあります。 毎日もう1つのファイルがあり、このスクリプトをマージして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
今、私は別の月にフォルダにあるファイルを取得または移動する必要があります。
あなたの質問はありますか? –
質問は、月のすべてのファイルをマージした後、新しいファイルを自動作成する方法です。次のファイルは "xxx_xxx_01.06.2017.pdf"で、名前が "DB062017.pdf"の新しいファイルを作成する必要があります。 – Hristian
[Get-ChildItemを更新する](http://stackoverflow.com/questions/15884173)/limited-powershell-get-childitem-by-file-creation-date-range)ので、作成日までに1ヶ月分のファイルしか取得できません: –