|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Переименование файла по данным из самого файла |
|
|
CMD/BAT - [решено] Переименование файла по данным из самого файла
|
Старожил Сообщения: 169 |
Профиль | Отправить PM | Цитировать
Здравствуйте,
Подскажите пожалуйста как через bat решить следующую задачу: Есть папка например test, внутри папки test текстовые файлы и еще папки с текстовыми файлами. Каждый текстовый файл имеет спец символы между которыми находится текст которым необходимо заменить наименование файла, расширение необходимо соответственно оставить. Пример_1 O=первый текст, CN="второй "текст"", или CN="второй "текст"", или CN=второй текст, или CN=второй "текст", или CN="второй текст", Причем кавычки было бы здорово отбросить, или они просто учитываться не будут при копирование в имя файла? Пример_2 лалала O=лалала, CN=лала, Email=d@yandex.ru лалаолваолаолала » Пример_3 файл может выглядеть и так ahgjhfjkkffgdfggjk dsadfasdfdffadfsf O="djkfhsdjkf", djfhjdfhjkdhfk, CN=dfhdjf ddhfjdhfj hjdfjhddjf, Email=d@yandex.ru sdhfjksdhfjksdfasdf asdfasdfafsdf 1.Между O и CN необходимо добавить _ если возможно. Пример первый текст_второй текст.txt 2.Если невозможно сделать переименование всех текстовых файлов в подкаталогах, то как сделать переименование хотя бы одного текстового файла находящегося в корне папки test. 3.Файлы соответственно должны оставаться в своей папке и не менятся. 4.Спец символы O= и CN= могут находится в любом месте в документе каждый спец символ закрывается запятой , между спецсимволом и запятой есть текст который нужно использовать в переименовании текстового файла. 5.Спец символы идут в следующем порядке первым в документе идет O= потом CN= |
|
Отправлено: 09:14, 21-04-2011 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата dark-------13:
|
|
Отправлено: 09:29, 21-04-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 169
|
Профиль | Отправить PM | Цитировать Среди текста документы есть символы CN= далее текст и потом запятая, О= помом текст и сразу запятая т.е. между символами СN= и запятой есть текст, и символами O= и запятой есть текст
Пример O=текст, CN=текст2, В итоге должно быть текст_текст2.txt |
Последний раз редактировалось dark-------13, 21-04-2011 в 12:51. Отправлено: 09:50, 21-04-2011 | #3 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата dark-------13:
- такие строки (CN=/O= ) не могут повторяться более одного раза? - в какой кодировке файлы? (DOS/WIN/UTF/Unicode/...) |
|
Отправлено: 10:00, 21-04-2011 | #4 |
Старожил Сообщения: 169
|
Профиль | Отправить PM | Цитировать После последней запятой идет Email= (ПробелEmail= )
Кодировка win Симводы CN= O= не повторяются Заранее спасибо. |
|
Отправлено: 10:40, 21-04-2011 | #5 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать на пробу:
@echo off SETLOCAL EnableDelayedExpansion set $DIR=C:\TEST chcp 1251>nul for /r "%$DIR%" %%a in (*.txt) do ( for /f "delims=," %%b in ('findstr/bc:"CN=" /c:"O=" "%%a"') do set $%%b set $CN=!$CN:"=! set $O=!$O:"=! ren "%%a" "!$CN!_!$O!%%~xa">nul 2>&1||(chcp 866>nul echo/&echo/File name "!$CN!_!$O!%%~xa" is busy^^!&echo/File "%%a" skipped. chcp 1251>nul)) |
Отправлено: 11:39, 21-04-2011 | #6 |
Старожил Сообщения: 169
|
Профиль | Отправить PM | Цитировать Нет не работает - с файлом ничего не происходит.
|
Отправлено: 12:16, 21-04-2011 | #7 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать |
Отправлено: 12:27, 21-04-2011 | #8 |
Старожил Сообщения: 169
|
Профиль | Отправить PM | Цитировать Извиняюсь, что ввел вас в заблуждение
2 и 3 текст Пример файла вот такой лалала O=лалала, CN=лала, Email=d@yandex.ru лалаолваолаолала |
Последний раз редактировалось dark-------13, 21-04-2011 в 12:50. Отправлено: 12:30, 21-04-2011 | #9 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата dark-------13:
|
|
Отправлено: 12:52, 21-04-2011 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Интерфейс - [решено] Переименование файла | mishkinstvo | Microsoft Windows 2000/XP | 5 | 10-12-2021 22:08 | |
CMD/BAT - [решено] Переименование файла и напоминание юзеру | Serg2010 | Скриптовые языки администрирования Windows | 7 | 13-08-2009 01:50 | |
[решено] Переименование файла | 11943499 | AutoIt | 1 | 24-07-2009 20:06 | |
Переименование Файла из его свойств | win2005 | Хочу все знать | 4 | 09-01-2009 14:21 | |
Доступ - Как запретить переименование определенного файла? | SavmiN | Microsoft Windows 2000/XP | 5 | 04-05-2008 20:44 |
|