У меня есть текстовый файл с именами файлов. Есть несколько повторяющихся имен, поэтому каждое имя файла с дубликатом мне нужно объединить последовательный номер после каждого повторяющегося имени файла. Например:
Первоначально текстовый файл выглядит так:
filenamex filenamex filenamex otherfilename otherfilename otherfilename otherfilename
Действия, которые мне нужны для выполнения кода, следующие:
filenamex остается прежнимfilenamex заменен на filenamex1filenamex заменен на filenamex2otherfilename остается прежнимotherfilename заменен на otherfilename1otherfilename заменен на otherfilename2otherfilename заменен на otherfilename3В конечном итоге текстовый файл будет выглядеть так:
filenamex filenamex1 filenamex2 otherfilename otherfilename1 otherfilename2 otherfilename3
Вот мой код, но я получаю всевозможные ошибки трубопроводов. Я пытаюсь использовать -replace, итерацию и Get-Content с foreach. Однако мне трудно собрать все вместе и работать.
$inputFile1 = Get-Content H:\test\outputfile.txt
for ($i=0; $i -lt $inputFile1.Count; $i++) {
$k=1
$j=$i
while ($inputFile1[$i] = $inputFile1[$j+1]) {
(Get-Content H:\test\outputfile.txt).Replace($inputFile1[$i+1], $inputFile1[$i + 1] + $k.ToString() + ".pdf") |
Out-File H:\test\outputfile2.txt -Append
$k++
$j++
}
}
сообщений об ошибках нет, но в выводе добавляются дубликаты, например: имя_файла1 имя_файла1 имя_файла1 ... и продолжается.
Также я снял переключатель "добавить", черт возьми. Как я и подозревал, он просто бесконечно добавляет числа все выше и выше, например: имя_файла1, имя_файла2, имя_файла3 ........ имя_файла100. Я застрял между камнем и наковальней. Если я добавлю его, исходные значения не изменятся.





Пожалуйста, редактировать свой вопрос и покажите ошибки, которые вы получаете. Вопреки распространенному мнению, сообщение об ошибке существует не для того, чтобы раздражать пользователя, а для предоставления жизненно важной информации для устранения неполадок.