![]() 8703 / 4250 / 946
Регистрация: 15.11.2014
Сообщений: 9,641
|
||||||
1 | ||||||
[BAT] непонятка с эхо-отображением простого текста03.05.2017, 21:45. Показов 601. Ответов 6
Метки нет Все метки)
(
добрый вечер.
следующий скрипт работает в точности так, как ожидается:
mingw-gcc на mingw (gcc) то логика работы нарушается. в консольке постоянно отображается ошибка. то бишь ветка if errorlevel 1 ( срабатывает вне зависимости от того, была ли на самом деле ошибка, или нет. кто нибудь может объяснить, что это за бред такой? и как это лечится.
0
|
|
03.05.2017, 21:45 | |
Ответы с готовыми решениями:
6
Непонятка с Bat-файлом
Комментарии к коду эхо-клиент/эхо-сервер Проблемы с отображением текста |
4325 / 2115 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
||||||
03.05.2017, 23:09 | 2 | |||||
1
|
4254 / 1597 / 275
Регистрация: 10.12.2013
Сообщений: 5,582
|
|
03.05.2017, 23:14 | 3 |
во-первых, у where есть ключик /q,
а по сути вопроса "кто нибудь может объяснить, что это за бред такой и как это лечится?" есть совет - "забей"; сам Майкрософт брезгливо дистанциируется от всех несуразностей, глупостей и ошибок, которые связаны интерпретатором cmd. ( далеко ходить не будем, в соседнем вопросе Переименовать файлы по маске на всех дисках, например, можно подсмотреть, что команда del *.htm удалит aa1.htm aaa2.html aaaa3."html and other files" )
2
|
![]() ![]() |
||||||||||||||||
10.05.2017, 17:36 | 4 | |||||||||||||||
hoggy, это из-за порядка интерпретации специальных символов.
Спецсимволы нужно экранировать, если требуется рассматривать их как литералы. ![]() С экранированием:
Без:
Дело в том, что у скобок "(" и ")" немного отличаются приоритеты. Т.е. достаточно ставить одну птичку:
2
|
Joey
|
10.05.2017, 22:59
#5
|
Не по теме: Наконец-то я услышал эти слова от кого-то, я думал, это мои подозрения. Не подскажете, где почитать что-нибудь про это? Правда, я также слышал, что cmd - это внутренняя разработка для нужд самих сотрудников Майкрософт, если это правда, то претензий быть не может. Как мини-лекцию прочитал.
0
|
4254 / 1597 / 275
Регистрация: 10.12.2013
Сообщений: 5,582
|
|
11.05.2017, 09:52 | 6 |
Приоритеты ???
Никакого STA (дерева синтаксического разбора) у cmd нет, просто конструкция IF ( или DO ) допускает появление скобок и, как только встретилась после IF открытая скобка, в пару к ней ожидается закрытая; первая же попавшаяся будет признана таковой, если, конечно же, до этого не случится вложенный IF или DO(тоже со скобками), который, будучи обработан рекурсивно, сам схватит первым закрывающую скобку. Всё это совершенно очевидно, не очевидна только причина того, зачем я распространяюсь на эту тему, хотя сам же выше советовал "забить".
0
|
Dragokas
|
12.05.2017, 16:51
[BAT] непонятка с эхо-отображением простого текста
#7
|
Не по теме:
0
|
12.05.2017, 16:51 | |
Проблема С Отображением Текста В Сообщениях В 1с 7.7 Проблемы с отображением текста из XML Проблемы с отображением текста в окнах программ В ярлыках браузеров emorhc.bat rehcnual.bat xoferif.bat erolpxei.bat Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |