Переименовать кучу файлов
Правила форума
Пожалуйста, ознакомьтесь с правилами данного форума
Пожалуйста, ознакомьтесь с правилами данного форума
- Waterbyte
- Графоман
- Сообщения: 48035
- Зарегистрирован: 10 авг 2007, 13:43
Переименовать кучу файлов
есть дочерта файлов, разложенных по разным директориям, которые именованы в формате "MMM D YYYY - AAAAAAA". задача - переименовать их всех в формат "YYYY-MM-DD - AAAAAAA", оставив на тех же местах. врукопашную это делать неохота, да и неумно. есть такая программка, которую можно натравить на эти файлы? заранее спасиб.
- LeoV
- Графоман
- Сообщения: 14497
- Зарегистрирован: 02 июн 2012, 15:41
- Откуда: Графство O'Mан
- Контактная информация:
- Waterbyte
- Графоман
- Сообщения: 48035
- Зарегистрирован: 10 авг 2007, 13:43
Re: Переименовать кучу файлов
спасибо, но без ста грамм разобраться пока не удалось. оставлю до пятницы...LeoV писал(а):http://www.den4b.com/?x=products&product=renamer
- Marmot
- Графоман
- Сообщения: 39328
- Зарегистрирован: 17 фев 2003, 17:58
- Откуда: Caulfeild
- Контактная информация:
Re: Переименовать кучу файлов
Проще самому программульку наваять 

- Шэф
- Маньяк
- Сообщения: 2992
- Зарегистрирован: 22 сен 2007, 12:51
Re: Переименовать кучу файлов
Можно.
Если по-быстрому, то в Total Cmd кажется начиная с 8-й версии в верхнем меню есть Multi-Rename Tool.
А если из кучи мест да с хитрой заменой и пр перетасовками, то она так и называется ReNamer by Denis Kozlov, ver 5.60 работает на 2К8 и вин 7, на вин 8 не знаю.
Если по-быстрому, то в Total Cmd кажется начиная с 8-й версии в верхнем меню есть Multi-Rename Tool.
А если из кучи мест да с хитрой заменой и пр перетасовками, то она так и называется ReNamer by Denis Kozlov, ver 5.60 работает на 2К8 и вин 7, на вин 8 не знаю.
- Groundhog
- Графоман
- Сообщения: 5101
- Зарегистрирован: 20 авг 2005, 16:36
- Откуда: Vancouver
Re: Переименовать кучу файлов
"Проще самому программульку наваять" +1000
Пару месяцев назад для себя сделал - нечто подобное - задолбали фото-файлы - разбросаны были щедрой рукой сеятеля по всяческим памятным местам. Пришлось ваять - мета данные из всяких графи файлов читать даты извлекать в МонгоДБ запихивать, файлы сгребать по годам, месяцам - директориям. Ну чичас зато лепота - сидят не пикнут
да еще маппед в МонгеДеБильном.
Пару месяцев назад для себя сделал - нечто подобное - задолбали фото-файлы - разбросаны были щедрой рукой сеятеля по всяческим памятным местам. Пришлось ваять - мета данные из всяких графи файлов читать даты извлекать в МонгоДБ запихивать, файлы сгребать по годам, месяцам - директориям. Ну чичас зато лепота - сидят не пикнут
да еще маппед в МонгеДеБильном.
-
- Пользователь
- Сообщения: 71
- Зарегистрирован: 21 сен 2009, 04:38
- Откуда: Хабаровск -> Ванкувер -> Северная Альберта
Re: Переименовать кучу файлов
http://www.antp.be/software/renamer - там много функций, инструмент простой.Waterbyte писал(а):есть дочерта файлов, разложенных по разным директориям, которые именованы в формате "MMM D YYYY - AAAAAAA". задача - переименовать их всех в формат "YYYY-MM-DD - AAAAAAA", оставив на тех же местах. врукопашную это делать неохота, да и неумно. есть такая программка, которую можно натравить на эти файлы? заранее спасиб.
Про ReNamer уже сказали.
Если надо работать с фото и что-то массово изменить кроме имени- http://www.faststone.org/FSViewerDetail.htm там хороший инструментарий.
-
- Пользователь
- Сообщения: 125
- Зарегистрирован: 06 сен 2009, 21:07
- Откуда: Toronto
Re: Переименовать кучу файлов
http://technet.microsoft.com/en-us/libr ... 15353.aspx

Example 4
C:\PS>get-childItem *.txt | rename-item -newname { $_.name -replace '\.txt','.log' }
Description
-----------
This example shows how to use the Replace operator to rename multiple files, even though the NewName parameter does not accept wildcard characters.
This command renames all of the .txt files in the current directory to .log.
The command uses a Get-ChildItem cmdlet to get all of the files in the current directory that have a .txt file name extension. Then, it uses the pipeline operator (|) to send the resulting files to the Rename-Item cmdlet.
In the Rename-Item command, the value of the NewName parameter is a script block that is executed before the value is submitted to the NewName parameter.
In the script block, the $_ automatic variable represents each file object as it comes to the command through the pipeline. The command uses the dot format (.) to get the Name property of each file object. The Replace operator replaces the ".txt" file name extension of each file with ".log".
Because the Replace operator works with regular expressions, the dot preceding "txt" is interpreted to match any character. To ensure that it matches only a dot (.), it is escaped with a backslash character (\). The backslash character is not required in ".log" because it is a string, not a regular expression.

- Waterbyte
- Графоман
- Сообщения: 48035
- Зарегистрирован: 10 авг 2007, 13:43
Re: Переименовать кучу файлов
кроме (|) ничего не понял...
-
- Маньяк
- Сообщения: 2425
- Зарегистрирован: 24 сен 2006, 10:17
- Откуда: Coquitlam, BC
Re: Переименовать кучу файлов
Муж использует вот эту программульку. Говорит интуитивно и просто. (от ИТ индустрии далек как от китая)
http://www.bulkrenameutility.co.uk/Main_Intro.php
http://www.bulkrenameutility.co.uk/Main_Intro.php
- pashevich
- Завсегдатай
- Сообщения: 359
- Зарегистрирован: 14 дек 2007, 10:44
Re: Переименовать кучу файлов
Обычно через Total Commander можно извлекать разные атрибуты файлов, вплоть до регулярных выражений по имени файла, если дата создания/изменения не соответствует действительности или нужно извлечь определенную строку, как в вашем примере. Меню "файлы->групповое переименование" http://wincmd.ru/plugring/totalcmd.htmlWaterbyte писал(а):"MMM D YYYY - AAAAAAA" переименовать их всех в формат "YYYY-MM-DD - AAAAAAA".
- Waterbyte
- Графоман
- Сообщения: 48035
- Зарегистрирован: 10 авг 2007, 13:43
Re: Переименовать кучу файлов
чё-то ничего не подходит. отупел от времени, похоже. а на VBA ничё такого не наваяно? а то в екселевском спредшыте я могу "переименовать" легко, вместе с полными путями, а как это потом в операционную систему передать - не в курсе. помниццо из юности, была ещё такая утилита "grep", с помощью неё в досовских батч-файлах дикие чудеса можно было творить. неужели не написали с тех пор ничего более цивилизованного? блин, хоть снова ставить акссесс и вспоминать, что я в нём делал двадцать лет назад...
- Yury
- The L'ony
- Сообщения: 26202
- Зарегистрирован: 22 янв 2004, 13:48
- Откуда: Мирный -> Vancouver
- Контактная информация:
Re: Переименовать кучу файлов
Ну можно и дедовским способом в екселе - создаешь три колонки:Waterbyte писал(а):чё-то ничего не подходит. отупел от времени, похоже. а на VBA ничё такого не наваяно? а то в екселевском спредшыте я могу "переименовать" легко, вместе с полными путями, а как это потом в операционную систему передать - не в курсе. помниццо из юности, была ещё такая утилита "grep", с помощью неё в досовских батч-файлах дикие чудеса можно было творить. неужели не написали с тех пор ничего более цивилизованного? блин, хоть снова ставить акссесс и вспоминать, что я в нём делал двадцать лет назад...
1) ren
2) старое имя файла с полным путём (если есть пробелы внутри, то закавычить не забудь)
3) новое имя файла без пути
Сохраняешь как текстовый файл разделенный пробелами
Переименовываешь в .bat
Запускаешь этот бат из коммандной строки и радуешься результату
В vba через file system object тоже элементарно сделать, но пример писать лень
Или еще более прямолинейно - скармливать в цикле те же три колонки вибиашной команде Shell или методу run объекта wshshell
- alpax
- Графоман
- Сообщения: 10706
- Зарегистрирован: 04 мар 2003, 17:39
- Откуда: Richmond, BC
Re: Переименовать кучу файлов
Хе... я часто так и делаю, когда лень сочинять регекспы для плагина в фаре - просто загоняю список файлов в текстовый файл или отметив и Ctrl-Ins, или "dir /b/s>process.bat", потом в том же фаре копирую колонку имен, меняю новое имя, подписываю "ren ", и запускаю. Если в одном каталоге, еще проще - для отмеченных файлов запускаю "echo ren !.!>>process.bat" - т.е. уже половина команды готова, потом только копирую столбик имен, меняю как надо и запускаю.Yury писал(а):Ну можно и дедовским способом в екселе - создаешь три колонки:
1) ren
2) старое имя файла с полным путём (если есть пробелы внутри, то закавычить не забудь)
3) новое имя файла без пути
Сохраняешь как текстовый файл разделенный пробелами
Переименовываешь в .bat
Запускаешь этот бат из коммандной строки и радуешься результату
В случае же исходной поставленной задачи явно подойдет любая переименовалка с регекспами. Я бы использовал плагин S&R для Far с его функцией Rename - искать что-то типа "(\d+) (\d+) (\d+) - (.+)", заменять на "$3-$2-$1 - $4".
- Waterbyte
- Графоман
- Сообщения: 48035
- Зарегистрирован: 10 авг 2007, 13:43
Re: Переименовать кучу файлов
дичь. варварство. каменный век. но должно сработать. пожалуй, так и сделаю :)Yury писал(а):Ну можно и дедовским способом в екселе - создаешь три колонки:
1) ren
2) старое имя файла с полным путём (если есть пробелы внутри, то закавычить не забудь)
3) новое имя файла без пути
Сохраняешь как текстовый файл разделенный пробелами
Переименовываешь в .bat
Запускаешь этот бат из коммандной строки и радуешься результату