Visual Studio PowerShell Out-File в .txt имена файлов не в порядке - PullRequest
0 голосов
/ 21 апреля 2020

когда я создаю Out-File, я открываю файл .txt, имена файлов не в порядке, пожалуйста, посмотрите код, который я использую, и посмотрите Out-File

, который я использую для добавления номера в начало.

$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++

}
}

enter image description here

  $button6_Click = {

    $listBox2.items.clear()  
    $CreateRun = get-childitem $textbox3.text *.pdf 

    $outTXT = $textbox8.Text
    "`n",$textbox12.text ,"`n", $CreateRun.Name| Out-File $outTXT\$($comboBox1.SelectedItem + "-" + $comboBox2.SelectedItem + "-"+ $dateTimePicker1.Text)".txt"

     $showFile = GCI $textbox3.Text -Filter *.pdf
     Foreach($show in $showFile){
     $listbox2.Items.Add($show.BaseName)
       }
   } 

1 Ответ

1 голос
/ 21 апреля 2020

Чтобы префиксировать имена файлов с (текстовым) сортируемым индексным номером, лучше всего использовать начальные нули для чисел, поэтому 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...