Чтобы префиксировать имена файлов с (текстовым) сортируемым индексным номером, лучше всего использовать начальные нули для чисел, поэтому 1.filename
становится 001.filename
, если общее количество файлов в папке имеет столько файлов.
Что-то вроде этого должно сделать это:
$originalFiles = Get-ChildItem -Path $textbox3.Text -Filter *.pdf -File
# calculate the number of digits needed to prefix with leading zeros
$numDigits = $originalFiles.Count.ToString().Length
$startIndex = 1
$originalFiles | ForEach-Object {
$_ | Rename-Item -NewName ("{0:D$numDigits}.{1}" -f $startIndex++, $_.Name)
}
Оригинал
D:\TEST
test-INV67459-TW15 10DG.pdf
test-INV67459-TW15 11DG.pdf
test-INV67459-TW15 12DG.pdf
test-INV67459-TW15 13DG.pdf
test-INV67459-TW15 14DG.pdf
test-INV67459-TW15 3DG.pdf
test-INV67459-TW15 4DG.pdf
test-INV67459-TW15 5DG.pdf
test-INV67459-TW15 6DG.pdf
test-INV67459-TW15 7DG.pdf
test-INV67459-TW15 8DG.pdf
test-INV67459-TW15 9DG.pdf
Становится
D:\TEST
01.test-INV67459-TW15 10DG.pdf
02.test-INV67459-TW15 11DG.pdf
03.test-INV67459-TW15 12DG.pdf
04.test-INV67459-TW15 13DG.pdf
05.test-INV67459-TW15 14DG.pdf
06.test-INV67459-TW15 3DG.pdf
07.test-INV67459-TW15 4DG.pdf
08.test-INV67459-TW15 5DG.pdf
09.test-INV67459-TW15 6DG.pdf
10.test-INV67459-TW15 7DG.pdf
11.test-INV67459-TW15 8DG.pdf
12.test-INV67459-TW15 9DG.pdf