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

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

Ответить
Настройки темы
CMD/BAT - CMD/BAT разбор строки с символом перехода строки в конце.

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


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

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


Пишу bat в первый раз и столкнулся с проблемой разбора символа переноса строки.

Описание того, чего хотел добиться....
Если при работе с нашими (Гостовкими) сертификатами так называемые контейнеры с закрытым и открытым ключом, мне нужно все контейнеры с флэшки скопировать в реестр.
Есть консольная утилита от КриптоПро (csptest) ,которая позволяет это сделать.
по этапам:
1. Получаю список всех контейнеров и сохраняю в файл "csptest.exe -keyset -enum_containers -verifycontext -fqcn > list.txt"
Приме вывода list.txt^

Код: Выделить весь код
\\.\REGISTRY\testfec45f812
\\.\FAT12_Q\Ivanov-17.09.13-6d3d8445aa29babd7ee
\\.\FAT12_Q\Petro-17.09.13-6d3d8445aa29babd7ee

\\.\FAT12_Q\Sidorov-17.09.13-6d3d8445aa29babd7ee
2. Прохожу по всему файлу и если файл лежит на флэшки "If /I %%i==fat12 " копирую контейнер в реестр. Но вот тут и проблема некоторые контейнеры имеют в своем имени символы перевода строки (как в примере Petrov) и в файл они соответственно копируются так же с пустой строкой

3. В итоге когда я пытаюсь командой csptest.exe -keycopy -src.... скопировать сертификат мой bat не учитывает этот символ и берет имя контейнра без него, в результате выдает ошибку т.е. для csptest вот это имя \\.\FAT12_Q\Petro-17.09.13-6d3d8445aa29babd7ee и вот это \\.\FAT12_Q\Petro-17.09.13-6d3d8445aa29babd7ee"\n" разные.

Вопрос как проверять имеется ли в имени контейнера символ перевода строки и как правильно сформировать имя контейнера с этим символом для передачи в csptest?

Код: Выделить весь код
REM @Echo Off
SetLocal EnableExtensions EnableDelayedExpansion
csptest.exe  -keyset -enum_containers -verifycontext -fqcn  > list.txt

For /F "tokens=2,3,4 delims=_'\'" %%i In (list.txt) Do (

If /I %%i==fat12 (

csptest.exe -keycopy -src "\\.\%%i_%%j\%%k" -dest "\\.\registry\%%k_n" -silent
)

)
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:24, 19-09-2013

 


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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Преобразование строки в простое число CMD/BAT kelevara Скриптовые языки администрирования Windows 7 26-04-2013 16:55
VBS/WSH/JS - [решено] Вставить строки в конце файла WORD AlexVong Скриптовые языки администрирования Windows 1 27-07-2012 00:33
CMD/BAT - Смена кодировки текстового файла, поиск строки и разбор значения profcom Скриптовые языки администрирования Windows 0 10-11-2011 20:20
CMD/BAT - [решено] Некорректный разбор строки RedScorpio Скриптовые языки администрирования Windows 5 03-06-2011 17:52
CMD/BAT - [решено] Как удалить папку с символом ® через bat\cmd? seriych Скриптовые языки администрирования Windows 5 03-08-2010 09:49




 
Переход