Winforms Visual Studio PowerShell输出文件到.txt文件名的顺序不正确

Winforms Visual Studio PowerShell输出文件到.txt文件名的顺序不正确,winforms,powershell,visual-studio-2019,Winforms,Powershell,Visual Studio 2019,当我创建一个输出文件时我打开了.txt文件,文件名不符合顺序,请查看我正在使用的代码和输出文件 我用这个来增加开头的数字 $button20_Click={ $originalFiles = Get-ChildItem $textbox3.Text -Filter *.pdf $x = 1 ForEach ($originalFile in $originalFiles) { Rename-Item -Path $originalFile.FullName -NewName (($

当我创建一个
输出文件时
我打开了
.txt
文件,文件名不符合顺序,请查看我正在使用的代码和
输出文件

我用这个来增加开头的数字

$button20_Click={


$originalFiles = Get-ChildItem $textbox3.Text -Filter *.pdf
$x = 1

ForEach ($originalFile in $originalFiles) {
    Rename-Item -Path $originalFile.FullName -NewName (($originalFile.Directory.FullName) + "\" + $x + $originalFile.Name.substring(8))
    $x++

}
}


若要使用(文本)可排序索引号作为文件名的前缀,最好使用前导零作为数字,这样
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-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 D:\测试 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
顺序是正确的(对于文本),如果你在一位数前加上零,你将得到你想要的顺序。您也可以在第一个“.”上拆分。将其转换为一个数字并进行排序。@DavidMartin谢谢您的评论,我已经用我用来添加数字的代码更新了我的问题,我已经尝试过使用
$x=01
,但没有成功anything@DavidMartin有机会举个例子吗 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