powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Windows [игнор отключен] [закрыт для гостей] / консоль cmd в Windows очень чувствительна к символам разрывам строки
13 сообщений из 13, страница 1 из 1
консоль cmd в Windows очень чувствительна к символам разрывам строки
    #39860083
DrillDrive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
народ, привет. Мне нужна помощь. В cmd как вы заметили временами бывает такая ситуация, что когда вам нужно копировать текст
и вставить его прямо в консоль и она имеет разрывы строки, то cmd разбивает вставленный текст на строки по этим символам разрыва строки и выполняя каждую из таких строк ( где есть символ разрыва строки ) как команду. Т.е. эти символы разрыва строки не экранируются при вставке текста в cmd консоль, а воспринимаются, мол ты в cmd уже нажал Enter несколько раз и это очень неудобно и раздражает. Прошу вас: как сделать так, чтобы в cmd консоль при вставки текста, в котором были какие-либо разрывы строки не разбивала бы вставленный текст команды на строки( ничего бы не делала ) ????

p.s. Если это проще сделать в винде, написав хуки( перехватчики ), то я нашёл эту статью и по ней делаю: https://habr.com/ru/company/icl_services/blog/324718/
но там не говорится как конкретно перехватывать буфер обмена и как его менять и обрабатывать в зависимости от того, в какую прогу ты копипастишь текст( в cmd или куда-то ещё ), кто владелец буфера обмена, какой формат содержимого буфера( придётся лопатить техническую доку в win32 API ), чтобы задать в коде, чтобы добавлялись спецсимволы при копипасте ТОЛЬКО в cmd консоле винды, да и я давно не кодил на C++ , чтобы написать утилиту быстро. Как бы вы поступили на моём месте, но при этом желательно не переходили с cmd на другой шелл ??
...
Рейтинг: 0 / 0
консоль cmd в Windows очень чувствительна к символам разрывам строки
    #39860103
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DrillDriveКак бы вы поступили на моём месте, но при этом желательно не переходили с cmd на другой шелл ??NPP, и в нём макрос, собирающий строки в одну и выполняющий в его в CMD.
...
Рейтинг: 0 / 0
консоль cmd в Windows очень чувствительна к символам разрывам строки
    #39860218
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Умному человеку трубка даёт возможность подумать, а дураку - что-нибудь пососать".
Открыли блокнот, вставили блок текста, поправили всё, что нужно. Ещё раз подумали и вставили результат в "куда надо".

P.S.
Вот жеж механики формулы-раз - всё им питстопы мерещатся ...
...
Рейтинг: 0 / 0
консоль cmd в Windows очень чувствительна к символам разрывам строки
    #39860553
DrillDrive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov"Умному человеку трубка даёт возможность подумать, а дураку - что-нибудь пососать".
Открыли блокнот, вставили блок текста, поправили всё, что нужно. Ещё раз подумали и вставили результат в "куда надо".

P.S.
Вот жеж механики формулы-раз - всё им питстопы мерещатся ...

Тот бред, что вы сморозили ни разу не делает вас умнее. Троллинг не более. Предлагаете в блокноте править ??? Гениальный ответ.

А что посоветуете дальше ??? Жарить мясо на костре, если газовая плита сломается ??? Идти пешком, если тролейбус не будет ходить в моём районе ??? Выбросить кофемашину, если жидкость для чистки от его накипи закончится, а нигде её поблизости не будет продаваться ??

Поэтому научитесь помогать, а не язвить, а если вам и вправду нечего толкового предложить, то ничего не говорите больше. Мне не до смеха и не до шуток.
...
Рейтинг: 0 / 0
консоль cmd в Windows очень чувствительна к символам разрывам строки
    #39860592
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DrillDrive, а чем плох совет с текстовым редактором ? Текстовый редактор правит текст лучше всех.

а cmd твой - это до сих пор торжествующее убожество. И майкрософтовское консольное окно, к нему прикрученное, убожество.
Консольное окно тогда уж лучше взять от conemu.

Ну и, ясен перец, powershell на повестке дня, а не cmd.
...
Рейтинг: 0 / 0
консоль cmd в Windows очень чувствительна к символам разрывам строки
    #39860613
DrillDrive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
volodin661DrillDrive, а чем плох совет с текстовым редактором ? Текстовый редактор правит текст лучше всех.

На самом деле всё очень просто. Ну конечно кажется, что править в нотпаде - это норм вариант, когда реально ты пользуешься командой раз и уже забыл про неё, но вот представьте какой у меня случай: если вы работаете с локальным git репозиторием на винде в какой-то среде разработке и каждый раз запускаете либо одну и туже команду для гита, в которой разрывы строки есть( по-крайней мере 1) либо запускаете curl, куда в качестве запроса пихаете большую json-ину( и в ней тоже надо чистить от брейклайнов эту строку в json формате ), то вы сначала посмотрев в гугле или на команду в друих источниках копипастите в блокнот, делаете там экранирование брейклайнов или вообще их убираете, а потом вы перемещаете в консоль cmd, когда можно автоматизировать процесс экранирования в винде, но как - в этом и есть моя тема и злоба дня одновременно. Я конечно хочу Линукс поставить, но у меня не т подходящих возможностей( я имею в виду харддиск отдельный, чтобы не париться память делив на логических разделах, да дистр надо найти подходящий под мои нужны )

а cmd твой - это до сих пор торжествующее убожество.

Ну и, ясен перец, powershell на повестке дня, а не cmd.


Если честно, то не смотря на то, что у cmd относительно отвратительный синтаксис, но в powershell он меня бесит ещё сильнее, так как он гораздо многословнее и не удобнее. Приходится учить с нуля простейшие системные команды, переходя на другой шел.

И майкрософтовское консольное окно, к нему прикрученное, убожество.
Консольное окно тогда уж лучше взять от conemu.


Так и есть. Поэтому у меня этот conemu давно есть. Но код то управления буфером я написать могу, но как мне автоматизировать экранирования брейклайнов в терминале, чтобы не пришлось отвлекаться на стронние текстовые редакторы, а править только если что в терминале.
...
Рейтинг: 0 / 0
консоль cmd в Windows очень чувствительна к символам разрывам строки
    #39860617
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в Win10 норм консоль и копируется там всё отлично
...
Рейтинг: 0 / 0
консоль cmd в Windows очень чувствительна к символам разрывам строки
    #39860682
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DrillDriveПредлагаете в блокноте править ???Да.
Просто потому, что в (открытом) блокноте можно держать десяток "однострочников", требуемых "здесь и сейчас" и никакой автомат разумной сложности не разберёт где "разрыв строки из-за форматирования", а где - начало новой команды. Если, вдруг, вам потребовался "многострочник".

P.S.
Очень напоминает эпизод из "Записок жены программиста", когда человек пару дней автоматизировал то, что за пару часов делалось "ввёрде". Там, напомню, в процессе тестирования чернила в принтере закончились. А так - да, автоматизированный вариант справился бы минут за пятнадцать.
...
Рейтинг: 0 / 0
консоль cmd в Windows очень чувствительна к символам разрывам строки
    #39860709
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
народ вы с какой планеты вообще? в windows 10 консоль практически как linux,
вы еще DOS Установите и понойте о том, как то шел убогий
...
Рейтинг: 0 / 0
консоль cmd в Windows очень чувствительна к символам разрывам строки
    #39860756
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Могу ошибаться, но, вроде, переносы строк уже и в восьмёрке "подшаманили", сделав логическое "свёртывание" на экране и "физические переносы" в буфере строк консоли.
...
Рейтинг: 0 / 0
консоль cmd в Windows очень чувствительна к символам разрывам строки
    #39860787
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DrillDriveКак бы вы поступили на моём месте, но при этом желательно не переходили с cmd на другой шелл ??

1. Если есть часто выполняемые команды - для них я бы создал пакетные файлы, и запускал их
2. Данные, которые надо передавать пост-запросами хранил бы в отдельных файлах
3. Если все-таки хочется работать через буфер обмена - написал маленькую прогу, которая висит в трее и позволяет взять данные из буфера обмена, выполнить желаемые преобразования и кинуть обратно в буфер обмена или даже запустить cmd с требуемой командой
4. Если источник команд относительно постоянный - написал программу, которая сама берет нужные команды из этого источника, возможно как-то их трансформирует, затем выполняет.
...
Рейтинг: 0 / 0
консоль cmd в Windows очень чувствительна к символам разрывам строки
    #39860812
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DrillDrive,

Чаще, при работе с URL (или URI?), приходилось экранировать символ "&", а не перевод строки.
...
Рейтинг: 0 / 0
консоль cmd в Windows очень чувствительна к символам разрывам строки
    #39860869
DrillDrive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x1ca4064DrillDriveКак бы вы поступили на моём месте, но при этом желательно не переходили с cmd на другой шелл ??

1. Если есть часто выполняемые команды - для них я бы создал пакетные файлы, и запускал их
2. Данные, которые надо передавать пост-запросами хранил бы в отдельных файлах
3. Если все-таки хочется работать через буфер обмена - написал маленькую прогу, которая висит в трее и позволяет взять данные из буфера обмена, выполнить желаемые преобразования и кинуть обратно в буфер обмена или даже запустить cmd с требуемой командой
4. Если источник команд относительно постоянный - написал программу, которая сама берет нужные команды из этого источника, возможно как-то их трансформирует, затем выполняет.

Огромное спасибо за такой расписанный ответ. Сначала я засомневался, но потом понял, что во всех пунктах, что вы перечислили есть смысл и они проще в реализации и один из самых лучших ответов за сегодня. Но остался один нюанс именно по 3 и 4 - ым пунктами кажись самый последний. Например, как вы поняли я хочу сделать задумку шаманства с буфером обмена, но при этом сделать листенер в том же самом трее, который узнаёт пользователя буфера обмена и прослушивает именно события вставки текста из буфера из узнаёт в PID экземпляра какой программы был совершён копипаст текста. Чтобы программа исправляла содержимого буфера только если вставляешь строку в консоль. Я копался с докой для win32 API: https://docs.microsoft.com/en-us/windows/win32/dataxchg/using-the-clipboard и нашёл подобное для правки контента в буфере обмена EditCopy(VOID), но эта функция не является частью API винды, а в API для буфера обмена https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-openclipboard я нашёл максимум это только HWND хэндлер/дескриптор, который отвечает за манипуляцию с виндосовскими окнами, но самой функции, которая отвечает за вставку из буфера не нашёл. Видно поэтому наверное вы правы, что тут хуком не обойдётся и лучше написать утилиту и хранить в трее, но только я повторюсь чтобы была возможность не только самим взять данные из буфера, но и автоматизировать это.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Windows [игнор отключен] [закрыт для гостей] / консоль cmd в Windows очень чувствительна к символам разрывам строки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]