View previous topic :: View next topic |
Author |
Message |
Renta
Joined: 06 Nov 2009 Posts: 4
|
(Separately) Posted: Fri Nov 06, 2009 11:43 Post subject: Автоматическое переименование файлов до заданного числа |
|
|
Есть такая задача: список фотографий, которые названы ####.jpg #### - это цифры, обозначающие код товара для сайта. Данные коды берутся из 1С, где макс. число 99999. Соответсвенно, коды для сайта идут вида 151.jpg; в 1С это будет выглядеть 00151.jpg
Таким образом нужно переименовать все фотки, добавив 0 туда где надо (до 10000). Если код вида 10000, то 0 добавлять не надо. Но вот как прописать правило для того, чтобы ТС понял, что к 10 нужно добавить три 0, а к 1000 только один?
И ещё скажите, пожалуйста, как это решение внедрить в ТС, так как только начинаю его осваивать.
Заранее спасибо за ответ |
|
Back to top |
|
|
D1P
Joined: 20 Dec 2004 Posts: 2973 Location: Тбилиси
|
(Separately) Posted: Fri Nov 06, 2009 12:30 Post subject: |
|
|
Предположим, что все файлы лежат в одном каталоге, и в Тотале включена естественная алфавитно-числовая сортировка. Т.е файлы располагаются в порядке:
1.jpg
...
9.jpg
10.jpg
...
99.jpg
100.jpg
и т.д.
Выделяем их все. Жмём Ctrl+M.
В поле "Маска" пишем [C]. В поле "Параметры счётчика [C], цифр" ставим 5.
Жмём Enter, всё.
Если исходные условия не такие, их можно к таковым привести, но это уже другой вопрос. _________________ База знаний о Total Commander
Блог |
|
Back to top |
|
|
Renta
Joined: 06 Nov 2009 Posts: 4
|
(Separately) Posted: Fri Nov 06, 2009 12:35 Post subject: |
|
|
В том-то и проблема, что файлы разбросаны по папкам!
Даже если объединить их всех в одну, то не факт, что там будут все позиции до 10000 (даже точно такого не будет). Так что такой вариант не даст результата. |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Fri Nov 06, 2009 12:57 Post subject: |
|
|
Renta wrote: | В том-то и проблема, что файлы разбросаны по папкам! | Точнее нужно описывать условия
если объединить их всех в одну, сработает такой батник:
Code: | @echo off
for %%f in (?.jpg) do ren %%f 0000%%~nxf
for %%f in (??.jpg) do ren %%f 000%%~nxf
for %%f in (???.jpg) do ren %%f 00%%~nxf
for %%f in (????.jpg) do ren %%f 0%%~nxf |
|
|
Back to top |
|
|
Renta
Joined: 06 Nov 2009 Posts: 4
|
(Separately) Posted: Fri Nov 06, 2009 13:01 Post subject: |
|
|
Tol!k
Простите за глупый вопрос, а как этот батник применить? |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Fri Nov 06, 2009 13:11 Post subject: |
|
|
Сохранить код в текстовый файл, сменить расширение на .cmd
Поместить в папку с картинками и запустить.
В папке не должно быть других .jpg — они тоже будут переименованы в 00abc.jpg
Но если в твоих разбросанных папках нет других .jpg (что вряд ли), то можно запускать батник прямо на месте (другие расширения не пострадают)
Last edited by Tol!k on Fri Nov 06, 2009 13:18; edited 1 time in total |
|
Back to top |
|
|
Renta
Joined: 06 Nov 2009 Posts: 4
|
(Separately) Posted: Fri Nov 06, 2009 13:17 Post subject: |
|
|
Заработало! Спасибо большое
Можно ещё уточнить, на каком языке программирования это написано? |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2220 Location: Москва, Россия
|
(Separately) Posted: Fri Nov 06, 2009 14:13 Post subject: |
|
|
Инструментом группового переименования можно выполнить в 2 шага с масками имени:
0000[N]
[N-5-] _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
D1P
Joined: 20 Dec 2004 Posts: 2973 Location: Тбилиси
|
(Separately) Posted: Fri Nov 06, 2009 15:12 Post subject: Папок нет, есть только каталоги! |
|
|
Renta wrote: | В том-то и проблема, что файлы разбросаны по папкам! |
Эта проблема легко решается через Ctrl+B и применением фильтра по расширению, либо, если файлы разбросаны по дискам, или в список попадают лишние файлы - через символические ссылки. _________________ База знаний о Total Commander
Блог |
|
Back to top |
|
|
|