![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Как экранировать \ |
|
CMD/BAT - Как экранировать \
|
Новый участник Сообщения: 10 |
Добрый день. Попросили прикрутить утилиту. На вход она просит текст, при этом внутри она ищет \r\n и по ним разбивает строку на подстроки. Проблема в том что когда я ввожу в консоль текст с \r\n, она почему то его автоматически экранируются слешем(\\r\\n), в следствии чего программе не может получить подстроки. Кавычки одинарные и двойные не помогают, если сам экранирую и прямым и обратным слешем тоже не помогает. Подскажите пожалуйста как победить win консоль?
|
|
Отправлено: 15:12, 07-08-2017 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 15:46, 07-08-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 10
|
Профиль | Отправить PM | Цитировать К сожалению утилиту не могу выложить. Запускаю ее из консоли командой: C:\MyProg\prog.exe param1\r\nparam2. Загвоздка в том, что к строке vector <string> vM = split<string>(var[1], "\r\n") переменная var[1] имеет значение уже param1\\r\\nparam2. Изменить программу я не могу. Можно как-то запретить cmd менять \ на \\?
|
Отправлено: 16:00, 07-08-2017 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать NikiWin, ещё раз: интерпретатор команд тут не при чём. Он ничего здесь не меняет. Можете взять Process Explorer и посмотреть, что приходит на вход утилите. Можете взять Process Monitor и убедиться и с его помощью.
Я не пойму: у Вас есть её исходный код? Откуда это: Цитата NikiWin:
|
|
Отправлено: 16:30, 07-08-2017 | #4 |
Новый участник Сообщения: 10
|
Профиль | Отправить PM | Цитировать У меня есть ее исходный код, но я не могу ее менять. Написана она на С. Если посмотреть через Process Explorer то действительно, в командной строке везде по одному слешу выдает, но если сразу в main вывести argv то получим C:\\MyProg\\prog.exe в argv[0] и param1\\r\\nparam2 в argv[1].
|
|
Отправлено: 16:45, 07-08-2017 | #5 |
Ушел из жизни Сообщения: 8595
|
Профиль | Сайт | Отправить PM | Цитировать Цитата NikiWin:
|
|
------- Отправлено: 16:59, 07-08-2017 | #6 |
Новый участник Сообщения: 10
|
Профиль | Отправить PM | Цитировать Если без слешей, то ничего не добавится, будет просто текст. Привел скрин простейшей программы и значение переменных под отладчиком.
|
Отправлено: 17:03, 07-08-2017 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 20:17, 07-08-2017 | #8 |
Новый участник Сообщения: 10
|
Профиль | Отправить PM | Цитировать Используется Visual с++. Я проверил у меня тоже корректно выводит из приложения данные(с одним слешем), но именно в программе отладчик показывает два слеша и судя по работе split переменные внутри программы содержат два слеша.
|
Отправлено: 09:04, 08-08-2017 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата NikiWin:
|
|
Последний раз редактировалось Iska, 08-08-2017 в 09:30. Отправлено: 09:25, 08-08-2017 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - экранировать скобки в данных из реестра | kokos76 | Скриптовые языки администрирования Windows | 9 | 11-01-2016 08:21 | |
CMD/BAT - [решено] Как экранировать символ? | Seryoga204 | Скриптовые языки администрирования Windows | 7 | 27-09-2010 22:50 | |
CMD/BAT - [решено] Как экранировать символ "=" в имени файла | chobov | Скриптовые языки администрирования Windows | 3 | 11-09-2010 01:28 |
|