Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как батником переименовать файлы в транслит?

Ответить
Настройки темы
CMD/BAT - [решено] Как батником переименовать файлы в транслит?

Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: Wrongbee
Дата: 26-09-2013
Описание: спрятал под спойлер
Друзья, привет!
Помогите, плиз... Задача двухэтапная. Первая (более важная). Ограничения папки 20 символов на имя плюс расширение. Как в батнике сделать так, чтобы в имени файла были отброшены символы сверх 19 символов (переименование) и двадцтым символов поставлен восклизательный знак. И вторая (менее важная, но для меня более сложная). Заменить в имени кирилические символы на их транслит. В крайнем случае на восклицательный знак. Пока смог собрать с помощью форума батник, который проверяет размер файла, и если он более 50 мегов, переносит файл в папку БРАК.
Спасибо!


Код: Выделить весь код
mdow @ /HID
for /f "delims=" %%i in ('dir "\\STORAGE\Папка с файлами" /b /s /a-d') do if %%~zi gtr 50000000 move  "%%i" \\STORAGE\Volume_2\BRAK

Отправлено: 14:03, 26-09-2013

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Можно, но лучше использовать WSH. Вас устроит?

Отправлено: 14:29, 26-09-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Батник уже прописан в планировщик, хочется просто дописать в него необходимое... Хотя бы урезание имени до 19 символов и вставку 20-м восклицательного знака... Сейчас штудирую форум (дошел до 245 страницы . Спасибо!

Отправлено: 14:43, 26-09-2013 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Wrongbee:
Батник уже »
Приведите его код.

Отправлено: 14:56, 26-09-2013 | #4


Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Сорри, я немного криво выразился... Есть крошечный батник (код в первом посте), который переносит файлы размером более 50 мегов из основной папки. Сейчас хочется расширить его возможности, добавив переименование.

Отправлено: 15:05, 26-09-2013 | #5


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Wrongbee, использование восклицательного знака в имени — не лучшая идея для пакетных файлов. Допустимо ли использование иного символа? Символ нужно добавлять всегда или только для имён, превышающих 20 знаков?

И опишите задачу полностью.

Отправлено: 16:26, 26-09-2013 | #6


Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Восклицательный знак - не принципиально... Задача в следующем... Есть несколько сетевых папок (и на сервере WIN 2003, и на NAS, и на Mac), в которые складываются файлы небольшого размера (просмотровые pdf). Требования пользователей (которые туда пишут) к файлам:
1. не более 50 мегабайт (иначе перенос в отдельную папку с именем "Брак"
2. Не использовать кириллицу в именах файлов, иначе замена русских букв на в идеале транслит, но пойдет и, допустим, на единичку
3. Имя файла не более 20 символов, иначе лишние символы удаляются, а в конце имени ставится какой-нибудь символ (маркер, чтобы было видно, что произошло переименование). Действительно, восклицательный знак плохая затея - пусть будет единичка

Пункт 2 необязательно

Отправлено: 16:45, 26-09-2013 | #7


Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Ура, спасибо... Добавил правила транслита и ВСЕ пашет. СПАСИБО!

Отправлено: 18:59, 26-09-2013 | #8


Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Теперь хочу изучить batch поподробнее, доработать и выложить финальный вариант. Доработка в следующем... Если имена файлов ПОСЛЕ переименования дожны стать одинаковыми, то переименовывается только один файл. Например, ставим ограничение 5 символов имени. Есть файлы с именами 11111111.jpg и 1111112.jpg, то первый становится 11111!.jpg, а 1111112.jpg остается прежним, так как после переименования совпадут имена. Еще раз спасибо за помощь

Отправлено: 10:55, 27-09-2013 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как батником переименовать файлы в транслит?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - удалить файлы старше 5ти минут батником Dannnnnia Скриптовые языки администрирования Windows 3 18-08-2017 17:48
CMD/BAT - Переименовать и переместить файлы vider Скриптовые языки администрирования Windows 7 12-05-2013 16:35
Интерфейс - как переименовать папку с кирилицы на латиницу или перенести все файлы? kulgovd Microsoft Windows 7 1 04-06-2012 02:33
Ошибка - Как можно быстро переименовать файлы в архиве? Lezaxx Microsoft Windows 2000/XP 2 08-03-2011 00:54
Как переименовать системные файлы Centrinar AutoIt 13 11-07-2010 21:54




 
Переход