Изменение названия файлов в PowerShell
Задача такова: у нас есть папка task лежит на рабочем столе C:\Users\Пользователь\Desktop\task.
В этой папке находятся 7 файлов, при том в каждом файле находятся числа не по порядку, необходимо переименовать файлы в цикле, чтобы название файла соответствовало содержимому.
содержимое в папке - содержимое в файле
1.txt - 6
2.txt - 7
3.txt - 8
4.txt - 9
5.txt - 0
6.txt - 1
7.txt - 2
Задачу описывают таким образом: Якобы мы поехали в отпуск и наделали настолько много фото, что номера файлов стали перезаписываться с самого начала. И теперь фото с отпуска в России лежат рядом с фото прошлого отпуска в Америке.
Необходимо чтобы было текстовые файлы с содержимым отображались вот так
содержимое в папке - содержимое в файле
1.txt - 0
2.txt - 1
3.txt - 2
4.txt - 6
5.txt - 7
6.txt - 8
7.txt - 9
Пытался что то сообразить с помощью Windows PowerShell ISE
cd C:\Users\Пользователь\Desktop\task
Write-Output "Begin"
$files = get-ChildItem "C:\Users\Пользователь\Desktop\task"
for ($i=3; $i -lt $files.Count; $i++) {
if ($i -ge $files.Count){
Rename-Item -Path $files[$i] -NewName {$_.Name -replace $files[$i + 1], 'A.txt'}
}
}
Write-Output "End"
Но как вы уже поняли, раз вы это читаете ничего не вышло. Буду признателен за помощь
Ответы (1 шт):
Если ты друг мой, пришёл из неведомых земель и тебя заинтересовал сей вопрос. Могу ответить на него я теперь. Узри же великий код древних !
param(
$path="C:\Users\Пользователь\Desktop\task"
)cls
gci $path -file|%{ren $_.fullname a$_};gci $path -file|sort {gc $_.fullname}|%{ren
$_.fullname $([string]++$i+$_.extension)}
"РЕЗУЛЬТАТ: ";gci $path -file|% {$_.name+" - "+(gc $_.fullname)}