אוקיי @חוקר .. הוא לא ענה לי אבל מספיק לי שיכול להיות כזה סיטואציה.
@מעלה-ומוריד תגיד אם הקוד הזה טוב ועובד:
param([string]$path = '.')
$pdftotext = "path to pdftotext"
[Console]::OutputEncoding = [text.encoding]::utf8
Get-ChildItem -path $path -Filter '*.pdf' | ForEach-Object -Process {
$donor = &$pdftotext -enc UTF-8 -simple $_.FullName - | Select-Object -Index 9
$donor = ($donor -split ' ' | Select-Object -Unique) -join ' '
$datee = &$pdftotext -enc UTF-8 -simple $_.FullName - | Select-Object -Index 4
$datee = ($datee -split ' ' )[0].Substring(2, 2)
$text = '{0}{1}{2}' -f $donor.Substring(2), ' ', $datee
$counter = 1
$file = '{0}{1}{2}{3}' -f $_.DirectoryName, '\', $text, '.pdf'
while (Test-Path -Path $file) {
$text = '{0}{1}{2}{3}({4})' -f $donor.Substring(2), ' ', $datee, ' ', $counter++
$file = '{0}{1}{2}{3}' -f $_.DirectoryName, '\', $text, '.pdf'
}
$_ | Rename-Item -NewName "$($text).pdf"
}
צריך לשנות בשורה 3 לנתיב לקובץ pdftotext.
זה הקוד של @yossiz שערכתי קצת
= עריכה =
שכחתי לציין מה זה עושה:
סורק את השם + התאריך. (את שם התורם אני מאחד - מוריד את הכפליות)
משנה את שם הקובץ ל: שם התורם + תאריך היום בחודש בלבד.
במקרה וכבר יש קובץ עם השם הזה - הוא משנה את השם ל:שם התורם וכו' + מספר (מתחיל מ-(1) והלאה לפי העניין).

)
במבנה ובסכמות שאני מחליט..
)
) אני עושה שם כאלה דברים, כמובן במינורי..
אז מה שיגעת את השכל !!! סורי...)
מבסוט על עצמי.. נחמד כאן במלון)