![Изменить шаблон переименования в Win 7](https://rvso.com/image/1313351/%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C%20%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%20%D0%BF%D0%B5%D1%80%D0%B5%D0%B8%D0%BC%D0%B5%D0%BD%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%B2%20Win%207.png)
Можно ли изменить встроенный механизм массового переименования в Win7?
Допустим, возможно ли сделать так, чтобы использовался такой шаблон?
name-001.ext
name-002.ext
решение1
Вы можете использовать скриптовый язык. PowerShell должен быть на вашем компьютере с Win7. Вот однострочник:
PS> get-childitem | foreach { $i++; $new = "name-{0:D3}" -f $i + $_.Extension; rename-item $_ $new } ; $i=0
Здесь мы используем Get-ChildItem
для перечисления содержимого текущего каталога. Затем мы передаем полученные объекты FileInfo в короткий ScriptBlock, который делает следующее:
- Увеличить переменную-счетчик
- Создайте новое имя, объединив
- форматированная строка с тремя значащими цифрами для счетчика
- расширение файла из исходного объекта FileInfo
- Использовать
Rename-Item
с исходным объектом FileInfo и новым именем
Последний пункт сбрасывает счетчик $i; полезно, если вы экспериментируете, чтобы первое имя файла начиналось с 1, а не на единицу больше, чем конечное значение, которое оно имело в последний раз, когда вы запускали скрипт. (Спросите меня, откуда я это знаю).
Сложите все это вместе, и вот что вы получите:
Выполняется в каталоге со следующим содержимым:
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 10/3/2011 11:45 AM 455 save-times.csv
-a--- 2/23/2012 4:03 PM 553376 save_patch.zip
-a--- 2/1/2012 10:55 AM 131280 user-gp.html
-a--- 6/7/2011 11:58 AM 38557 wks.xml
-a--- 5/23/2011 3:28 PM 16384 xmllint.exe
Я получаю следующий результат:
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 10/3/2011 11:45 AM 455 name-001.csv
-a--- 2/23/2012 4:03 PM 553376 name-002.zip
-a--- 2/1/2012 10:55 AM 131280 name-003.html
-a--- 6/7/2011 11:58 AM 38557 name-004.xml
-a--- 5/23/2011 3:28 PM 16384 name-005.exe
Для получения дополнительной информации см. документацию TechNet по адресуИспользование командлета Get-ChildItemиИспользование командлета Foreach-Object. Давайте, попробуйте!
решение2
Я так и не смог найти способ изменить формат, который Windows использует для пакетного переименования. Однако есть сторонние утилиты, которые справляются с этим без проблем. Лично я используюhttp://www.bulkrenameutility.co.uk/Download.phpно есть и другие.