![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Задача: парсинг текстового файла |
|
CMD/BAT - Задача: парсинг текстового файла
|
Новый участник Сообщения: 8 |
Добрый день, системные администраторы и программисты-разработчики!
Давно хочу решить одну задачку средствами командного интерпретатора Windows, но всё времени не хватает углубиться в тонкости языка. Задача возникла как скрипт ловушки для системы управления версиями Subversion. В частном случае я её решил, но хотелось бы в общем. Итак, внимание, задачка: Исходные данные. Есть текстовый файл, структура которого следующая: Path1 - Mask1_1 Mask1_... Mask1_N-1 Mask1_N Path... - Mask..._1 Mask..._... Mask..._N-1 Mask..._N PathM-1 - MaskM-1_1 MaskM-1_... MaskM-1_N-1 MaskM-1_N PathM - MaskM_1 MaskM_... MaskM_N-1 MaskM_N Требуется получить в локальную переменную командного пакета строку вида: %Result% = "Path1\Mask1_1 Path1\Mask1_... Path1\Mask1_N-1 Path1\Mask1_N ... Path...\Mask..._1 Path...\Mask..._... Path...\Mask..._N-1 Path...\Mask..._N PathM-1\MaskM-1_1 PathM-1\MaskM-1_... PathM-1\MaskM-1_N-1 PathM-1\MaskM-1_N PathM\MaskM_1 PathM\MaskM_... PathM\MaskM_N-1 PathM\MaskM_N" Возможен, конечно, косяк, если в имени пути или маске содержатся пробелы, либо в имени пути содержатся подряд идущие символы пробел, минус, пробел. Но такие случаи пока от условий задачи отсечём. Пример: На основе файла Должна получится строка Projects\Builder\*.~* Projects\Builder\*.$* Projects\Builder\*.obj Projects\CSharp\*.cache* Projects\CSharp\*.suo Благодарен уже за уделённое внимание! |
|
Отправлено: 13:30, 31-12-2015 |
Ветеран Сообщения: 1759
|
Цитата Лео Lапыч:
|
|
Отправлено: 14:24, 31-12-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Спасибо, Иностранец. Честно говоря, это читерство какое-то. Ничего не понял. Разбираться не стал, ибо столько водки дома уже нету. Скрипт почти работает.
Выводит Projects/Builder\*.~* Projects/Builder\*.$* Projects/Builder\*.obj Projects/CSharp\*.cache* Projects/CSharp\*.suo Projects\Builder\*.~* Projects\Builder\*.$* Projects\Builder\*.obj Projects\CSharp\*.cache* Projects\CSharp\*.suo Цитата:
в которой бы и был результат преобразований. Мне необходимо вызывать эту :0 в нескольких местах моего скрипта. Предусмотрено ли что-то вроде ret, чтобы вернуться в место после вызова? Или goto - наше всё? И ещё. Всё таки для борьбы с пробелами в путях и масках, пусть каждая полная маска будет заключена в кавычки. То есть Спасибо ещё разок! |
|
Последний раз редактировалось Лео Lапыч, 03-01-2016 в 21:51. Отправлено: 21:38, 03-01-2016 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Лео Lапыч:
Цитата Лео Lапыч:
Можно даже значения возвращать в переменную окружения ![]() |
|||
Отправлено: 22:11, 03-01-2016 | #4 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Цитата Лео Lапыч:
Про exit /b понял. Спасибо! Цитата Iska:
|
||||
Отправлено: 10:32, 04-01-2016 | #5 |
Ветеран Сообщения: 1759
|
Цитата Лео Lапыч:
|
|
Отправлено: 13:04, 04-01-2016 | #6 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Спасибо! А что насчёт
Цитата Лео Lапыч:
Цитата Лео Lапыч:
|
||
Отправлено: 13:41, 04-01-2016 | #7 |
Ветеран Сообщения: 1759
|
|
Отправлено: 15:21, 04-01-2016 | #8 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Спасибо всем!
Скрипт автоматизации добавления новых файлов под версионный контроль при фиксации обновлений теперь работает в общем виде и правильно учитывает свойства svn:global-ignores и svn:ignore, чего и требовалось от него добиться. |
Отправлено: 22:48, 05-01-2016 | #9 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - Парсинг файла | pogo | Скриптовые языки администрирования Windows | 1 | 20-09-2013 11:57 | |
CMD/BAT - Сборка текстового файла из содержимого другого текстового файла | icomboy | Скриптовые языки администрирования Windows | 0 | 10-09-2013 15:17 | |
Java - Парсинг doc-файла | Hector | Программирование и базы данных | 7 | 15-03-2012 21:37 | |
[решено] Парсинг php файла | Shym | Вебмастеру | 2 | 15-11-2009 02:30 | |
CMD/BAT - [решено] Как скопировать имя файла из текстового файла в код батника и т.д. | Nun-Nun | Скриптовые языки администрирования Windows | 6 | 13-05-2009 13:28 |
|