The bat не работает буфер обмена
Всем салют! нужно вставить текст из буфера обмена в bat, ну т.е присвоить переменную %share%, и при вызывании %share% показывался текст из буфера обмена.
Пример:
Может быть — «присвоить переменн ой »?
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.
Конфигурация компьютера | |
Процессор: Intel Core 2 Quad Q9300, 2500 MHz (7,5 x 333) | |
Материнская плата: Asus P5Q PRO | |
Память: Transcend 2048x2 4096 Мб (DDR2-1066 DDR2 SDRAM) | |
HDD: Seagate ST3250410AS (250 Гб, 7200 RPM, SATA-II) + STM31000528AS (1 Тб, 7200 RPM, SATA-II) | |
Видеокарта: Asus EAH3650 (RV635) | |
Звук: Realtek ALC1200 (встроенный) | |
Блок питания: ExeGate 350W | |
CD/DVD: Optiarc DVD RW AD-7170S | |
Монитор: Samsung SyncMaster 971P 19'' | |
ОС: Windows 7 Ultimate SP1 (x64) | |
Индекс производительности Windows: 5,9 |
Строго говоря вариант от коллеги Iska вставит в переменную только последнюю строку текста, ибо много строковых переменных в бат не бывает.
В принципе сами переменные окружения относятся к этому индифферентно:
А вот с пакетными файлами — увы, не попадалось. Есть «финт ушами», создающий многострочную переменную окружения, но и там не всё гладко — вместо CrLf будет только Lf. Ещё неизвестно, что хуже выйдет.
Iska, а как сделать, чтобы в переменной share проверялось наличие ":" и тогда заменялось бы на ".".
Пример: В буфере "1111:1111", а надо, чтобы в таком случае стало бы "1111.1111".
Так это она и есть. Только перед if defined share echo [%share%] проверить наличие ":" и заменить на ".". И проверить соответствует ли содержание буфера маске 0000:00:00. Если нет, то выйти.
Или сначала проверить соответствует ли содержание буфера маске 0000:00:00. Если нет, то выйти. Если да, то проверить наличие ":" и заменить на ".".
нет же зачем мне команды я имею ввиду только текст например пароль к ящику будет хранить батник кликнул на него пароль в буфере.
- creature.ws
- Разработчик
- Неактивен
Непонел это код ? или шутка ? )
- creature.ws
- Разработчик
- Неактивен
Здесь юмористический сайт? Что вас сподвигло на предположение, что это шутка?
это что '_rOsNnAk7jPQ3^B9Xmb$' сорри за глупость
- creature.ws
- Разработчик
- Неактивен
Это пример пароля хранящегося в bat файле.
Чтобы вывести символы канала (|) или перенаправления (< или >) при использовании команды echo, введите символ (^) непосредственно перед символом канала или перенаправления (например ^>, ^< или ^| ). Чтобы вывести символ (^), введите два этих символа подряд (^^).
Спасибо работает ) только как кириллицу чтобы поддерживал )
- creature.ws
- Разработчик
- Неактивен
Кодировка файла в общем случае должна быть — cp866
Кодировка файла в общем случае должна быть — cp866
вот так
@chcp 1251
@echo текст| Clip
Блин лишний пробел делает код не пойму в чём дело из-за чего пароль невозможно использовать сразу из буфера
Вы уверены? Если между текстом и | нет пробела, то и в буфере пробела нет.
Вы уверены? Если между текстом и | нет пробела, то и в буфере пробела нет.
Я уверен я уже все варианты испробовал, делает последним пробел прыгая на 2ю строчку и всё портит этим. если ставить из буфера в блокноте или на сайте где надо вводить пароль. Только в WinRare не делает пробел где надо ввести Password. Может есть? другие команды с буфером
Подобная проблема возможна и встречается чаще на более старых версиях операционной системы «Windows» (XP, 7, Vista), но не теряет своей актуальности и при использовании последней версии ОС «Windows 10».
Причин возникновения подобных ситуаций множество, и в подавляющем большинстве они связаны с вмешательством в работу процессов сторонних программ или вирусов. Несмотря на кажущуюся простоту проблемы, поиск её причин может быть достаточно запутанным. Ведь это встроенная функция системы, и нарушить её работу может множество факторов.
Буфер обмена не работает на компьютере под ОС «Windows Server»
Подобная проблема особенно актуальна при использовании «RDP» сессий. Возникает она в большинстве случаев при работе с несколькими серверами, т. е., помимо 2 – 3 терминальных подключений, имеется ещё, к примеру, 10 терминальных соединений с помощью утилиты «Remote Desktop Connection Manager», при этом проблема (не функционирует copy(копирование)/past(вставка)) не затрагивает 2 – 3 терминальных подключения, а касается только вышеупомянутой 10-ки.
В качестве решения следует сделать следующее:
- За работоспособность буферизации отвечает приложение «rdpclip.exe», но инициация подключения по RD (Remote Desktop) запускает для каждого пользователя собственный процесс «rdpclip.exe». В связи с этим потребуется закрыть вручную данный процесс в «Task Manager» (Диспетчер задач), для этого кликните по нему правой кнопкой мышки и нажмите «End Task» (Завершить задачу).
- Далее, запустите «rdpclip.exe» вручную, нажав комбинацию клавиш «WIN» + «R» и вводом наименования процесса.
При этом следует помнить, что для корректного использования функционала буферизации между удаленной и локальной системой через терминальное соединение, требуется выполнение двух основных условий:
- В настройках «RDP» клиента, на вкладке «Локальные ресурсы» в блоке «Локальные устройства и ресурсы» должен быть отмечен галочкой «Буфер обмена».
- В параметрах «RDP-TCP подключений» на вкладке «Client Settings» не должен быть отмечен галочкой параметр «Clipboard» (Буфер обмена) в блоке «Disable the following».
Настройки «RDP» клиента
Специализированный софт
Первый вариант решения проблемы
Проблема, когда нарушен обмен через буфер между клиентом и сервером, встречается повсеместно, при любых операционных системах на двух сторонах. И то, что часто приходится иметь дело с Linux на клиенте и Windows на сервере, определено просто популярностью этих систем.
У рассматриваемой ошибки есть одна особенность – если у вас в настоящий момент подключено несколько серверов, она может проявляться при обмене только с одним, остальные используют буфер обмена без проблем.
Первое решение, которое напрашивается с самого начала – завершить текущую сбойную RDP-сессию и запустить её снова. Это работает на все 100%. Но недостаток такого подхода очевиден – приходится закрывать все программы на сервере, выходить, а потом, после повторного запуска, запускать вновь и все программы.
Но есть и другое решение проблемы, не такое громоздкое.
1. Использование безопасного режима с последовательным запуском процессов
Для этого перезагрузите компьютер и перейдите в безопасный режим. Сразу после запуска операционной системы можно проверить работоспособность буфера обмена.
Нажмите сочетание клавиш «WIN» + «R» и введите команду «msconfig», откроется окно «Конфигурация системы», в котором перейдите на вкладку «Службы» (провести данные шаги можно и в обычном режиме).
Перед вами откроется список работающих и остановленных служб, в левом нижнем углу окна установите флажок в строке «Не отображать службы Microsoft» и далее, нажмите на соседнюю кнопку «Отключить все». Снова проверьте работу буфера обмена, если проблема не появляется, то однозначно ошибка кроется в работе программ, и для определения, в какой именно, и применяется последовательный запуск.
Из самого названия уже становится понятно, что требуется поочередно запускать процессы и проверять работу буфера. По мере проведения данных манипуляций может потребоваться перезагрузка компьютера, при активации (включения) программ, но в конечном счёте всё это приведёт к необходимым результатам.
И к слову, данный метод подходит для всех версий операционной системы «Windows XP/7/Vista/8/10».
Что делать, если обнаружена уязвимость в данном приложении
Первое, что нужно сделать в том случае, когда ошибка проявилась в конкретной программе, это попробовать её переустановить, загрузив инсталлятор из проверенного источника, лучше официального. Перед инсталляцией софта следует убедиться в его безопасности, просканировав антивирусом, особенно внимательно нужно устанавливать ПО при пакетной установке, когда в довесок к скачиваемому продукту идут и дополнительные элементы, часто вредоносные или просто ненужные. Переустановка софта и перезагрузка компьютера избавляют от ошибки, если она была случайной.
Использование антивирусного ПО
В тексте ошибки переполнения буфера говорится о потенциальной угрозе безопасности, и, несмотря на достаточно преклонный возраст и известность бага, он всё ещё актуален и нередко становится средством взлома систем. Причём сбою поддаются программы различных типов, а спровоцировать его можно специально задействованным вредоносным софтом.
Рекомендуется просканировать систему на вирусы, можно в безопасном режиме, если ОС не загружается, и выполнить проверку и устранение угроз посредством встроенного Защитника Windows.
Как очистить компьютер от вирусов при появлении ошибки «Стековый буфер переполнен»:
- Открываем Защитник Windows через поисковую строку меню «Пуск» или в области уведомлений на панели задач;
- Выбираем «Защита от вирусов и угроз» и переходим к параметрам сканирования;
- Отмечаем флажком «Автономное сканирование Защитника Windows» и жмём соответствующую кнопку для начала проверки.
Второй вариант решения проблемы
Другой вариант связан с перезапуском только программы, отвечающей за обмен через буфер – эта программа стоит за исполняемым модулем rdpclip.exe, она внешняя по отношению к самой remmina и указывается отдельной строкой в диспетчере задач.
Таким образом, чтобы восстановить обмен между RDP-клиентом и сервером через буфер обмена, нужно войти в Диспетчер задач, перейти на вкладку запущенных процессов, найти под своей учётной записью rdpclip.exe, отвечающую за сбоящий обмен, завершить его и запустить снова, уже вручную.
Завершение процесса rdpclip.exe
Другие способы решения проблемы
Можно не углубляться в дебри операционной системы и попробовать реализовать функцию буфера обмена с помощью сторонних программ. На самом деле таких небольших утилит довольно много, и пользоваться ими удобно, даже когда проблем с буфером нет.
Установив одну из таких программ, вы получите больше возможностей, чем даёт примитивный стандартный буфер обмена. Одно из самых важных достоинств – сохранение истории и возможность хранить в буфере сразу несколько объектов, которые можно выбирать по необходимости.
Вот лишь некоторые из таких утилит:
- Clipdiary – бесплатная и лёгкая утилита с историей.
- Copy Contents – также бесплатная утилита, которая встраивается в контекстное меню.
- TeraCopy – эта маленькая программа работает даже быстрее стандартного буфера обмена. Имеет удобное окно для копирования файлов в папки и проверяет целостность файлов.
Эти программы легко найти и скачать. Их установка занимает считанные секунды, и вы получаете в своё распоряжение новый, еще более удобный буфер обмена.
Как видно из всего вышеописанного, вариантов решений множество, главное, определить, с чем именно связана неработоспособность буфера обмена на компьютере под операционной системой «Windows».
Нельзя сказать, что RDP – такое уж распространённое явление. Тем не менее, в полупрофессиональной и профессиональной компьютерной среде он совсем не редок, поэтому, для начала не мешает уточнить, что же это такое.
Всё очень просто. Microsoft в своё время купила коммуникационную программу, которую потом переименовала во всем знакомую NetMeeting и взяла из неё протокол удалённого рабочего стола, этот самый RDP — Remote Desktop Protocol.
Протокол сегодня повсеместно используется клиентскими программами для удалённой работы с сервером. Программ-клиентов насчитывается только в топе использования не менее десятка, remmina, обладающая графическим интерфейсом, только одна из них.
Популярность remmina вызвана популярностью Linux – на Ubuntu этот клиент ставится по умолчанию.
Среди возможностей клиентов удалённого доступа:
-
;
- передача звука с возможностью воспроизведения на локальном ПК;
- использование маппинга – запуска локальных программ на сервере;
- использование на сервере ресурсов с локального ПК.
На Windows клиент работает как исполняемый модуль mstsc.exe (TSC – Terminal Services Client – официальное название этой программы). Разработаны версии клиентов для всех операционных систем.
Среди возможностей RDP-клиентов и та, которая время от времени может сбоить – обмен информацией через буфер обмена.
Возможно, дело в настройках
Но прежде чем сбрасывать в Диспетчере процессы, не мешает убедиться, а правильно ли настроен сам RDP-клиент – remmina.
Таким образом, заходим в настройки клиента и:
- На вкладке Local Resources, в группе Local devices and resources выбираем ресурсы, которые собираемся использовать в текущей удалённой сессии – нас интересует ресурс «Clipboard».
Следом необходимо проверить и настройки сервера:
- На вкладке Client Settings параметров «RDP-Tcp Подключения» в группе переключателей Redirection есть режим запрета перенаправления буфера обмена (называется просто – Clipboard). Он должен быть сброшен, хотя это и есть его состояние по умолчанию.
Другими словами, сначала убедитесь, что ваш RDP-клиент отвечает требованиям системы клиента (по версии хотя бы), а затем проведите предлагаемые действия, начав с настроек, само собой.
Среди многочисленных проблем программного характера, возникающих при работе с компьютером, пользователям может встречаться ошибка, сообщающая об обнаружении переполнения стекового буфера в конкретном приложении и возможности получения злоумышленником управления данными софта. Этому багу уже десятки лет, но и сегодня разрабатываемые программы не могут похвастать абсолютной надёжностью. Переполнение стековой памяти может возникать у любого неидеально продуманного приложения, что влечёт за собой аварийное закрытие или зависание софта, а также позволяет злоумышленнику внедрить вредоносный код, выполняемый от имени уязвимой программы. Если при этом приложение выполняется с наивысшими привилегиями, это открывает путь взломщику к любым манипуляциям в системе.
Бывает, что переполнение буфера при программировании продукта является средством, служащим определённым целям, например, намеренно применяется системным софтом для обхода отдельных ограничений. Рассмотрим подробнее, что это за явление, почему возникает и как избавиться от системной ошибки.
Чистая загрузка ОС Windows
Если переустановка софта и перезагрузка не помогли, и ошибка переполнения стекового буфера не исчезла, стоит попробовать выполнить чистую загрузку системы. Возможно, причины проблемы не относятся к данному приложению, ведь кроме работающих программ в Windows запущен ряд прочих процессов, которые и могут провоцировать баг. Для выполнения загрузки ОС в чистом виде нужно войти под учётной записью администратора компьютера, некоторые функции и приложения при этом будут недоступны, поскольку в данном режиме запускаются только необходимые системе файлы.
Для чистой загрузки Windows выполняем следующие действия:
- Открываем консоль «Выполнить» (Win+R), вводим в поле команду msconfig, жмём «Ок» или клавишу Enter.
- В окне «Конфигурация системы» на вкладке «Общие» снимаем отметку с пункта «Загружать элементы автозагрузки». Затем на вкладке «Службы» отмечаем пункт «Не отображать службы Майкрософт» и жмём кнопку «Отключить все».
- Идём на вкладку «Автозагрузка» и жмём ссылку «Открыть диспетчер задач» (для Windows 10), в открывшемся окне Диспетчера задач поочерёдно отключаем каждую программу в списке.
- Возвращаемся к окну конфигурации и жмём «Ок», после чего перезагружаемся и проверяем, исчезла ли ошибка.
Для того чтобы выявить программу, ставшую причиной проблемы, нужно включать софт по одному в автозагрузке и службах, после чего выполнять перезагрузку.
3. Использование функции «Get Open Clipboard Window»
Данная функция предоставляет информацию об актуальном процессе, который использует в настоящий момент буфер обмена. В ответ на запуск функции появится окно, в котором будет указано уведомление об отсутствии видимых проблем или будет указан код ошибки.
Причины возникновения ошибки переполнения стекового буфера
Для размещения данных программами используются блоки памяти (буферы), обычно фиксированной длины, то есть вмещающие ограниченный объём информации. Ошибка переполнения стекового буфера возникает, когда приложение пишет больше данных, чем выделено под стековый буфер, провоцируя перезаписывание, и не исключено, что будут перезаписаны важные избыточные данные в стеке, расположенные следом за массивом или перед ним.
Стек (абстрактный тип данных) являет собой список элементов, располагающихся стопкой, где информация упорядочена таким образом, что добавление элемента делает его головным, а удаление убирает первый элемент, тогда как головным станет следующий за ним. Принцип работы стека часто сравнивается со стопкой тарелок – выдернуть из середины тарелку нельзя, снимаются они поочерёдно, начиная с верхней, то есть порядок взаимодействия осуществляется по принципу LIFO (Last In, First Out – последним пришёл, первым ушёл).
Такое явление как переполнение буфера, когда программа захватывает больше данных, чем выделенный под них массив, в лучшем случае при ошибочном переполнении приводит к отказу софта или некорректной работе. В худшем, это будет означать, что уязвимость может быть применена в целях вредительства. Переполнение в стековом кадре используется злоумышленниками для изменения адреса возврата выполняемой функции, открывая возможности управления данными, независимо от того, буфер расположен в стеке, который растёт вниз, и адрес возврата идёт после буфера, или же стек растёт вниз, и адрес возврата находится перед буфером. Реализовать такое поведение программы несложно с применением вредоносного кода. С блоками памяти определённого размера компьютер работает в любых приложениях или процессах.
Так, в своих целях применять переполнение стекового буфера могут сетевые черви или иной вредоносный софт. Особенно опасными являются эксплойты, использующие уязвимость, которые предназначаются для получения привилегий путём передачи программе намеренно созданных входных данных, повреждающих стек. Эти данные переполняют буфер и меняют данные, следующие в памяти за массивом.
Скачивание сомнительного, взломанного программного обеспечения, включая пиратские сборки Виндовс, всегда таит в себе определённые риски, поскольку содержимое может хранить вредоносный код, выполняющийся при установке софта на компьютер.
4. Использование новой учётной записи
Вполне вероятно, что причина кроется в некорректной работе учётной записи пользователя, для проверки создайте новую учётную запись Windows и проверьте в ней работу буфера обмена.
Вмешательство сторонних программ
Как уже упоминалось выше, стороннее программное обеспечение может оказывать влияние на корректность работы компонентов операционной системы.
Это могут быть как установленные программы, так и не полностью деинсталлированные, остаточные процессы которых ещё работают (обычно происходит это при удалении программного обеспечения, где в последствии требуется перезагрузка, но она откладывается пользователем).
Определить, действительно ли затруднения произошли по данной причине, можно несколькими путями:
Вирусная активность
Сразу при возникновении проблем с корректностью работы функционала буферизации, проверьте состояние антивирусных программ — статус учётной записи, актуальность вирусных баз, дата последней проверки и проведите полное сканирование компьютера на наличие вирусной активности.
Воспользоваться можно не только установленными антивирусами, но и портативными утилитами, к примеру, «Doctor Web Cureit» или «Kaspersky Virus Removal Tool».
Окно программы Kaspersky Virus Removal Tool
В случае обнаружения подозрительных файлов и вирусов проведите процедуры по лечению или удалению оных и перезагрузите компьютер, после проверив работоспособность буферизации.
Восстановление Windows
Ещё одна мера, позволяющая избавится от системной ошибки, предполагает выполнение восстановления системы. Для использования функции потребуется наличие заранее созданного накопителя восстановления Windows, в качестве которого можно использовать диск или флешку. Выполняем следующие действия:
- отключаем от компьютера лишние устройства, не требуемые для работы;
- вставляем загрузочный накопитель и загружаемся с него, предварительно выставив приоритет загрузки в BIOS;
- выбираем «Восстановление системы» – «Диагностика» – «Дополнительные параметры» – «Восстановление при загрузке», далее выбираем ОС, которую требуется восстановить, и ждём окончания процесса, перезагружаемся.
2. Использование функционала «Средства записи действий по воспроизведению неполадок»
Для того чтобы открыть данную утилиту, нажмите уже упомянутую выше комбинацию «WIN» + «R» и введите «rsp.exe» или пройдите «Пуск» – «Стандартные» – «Windows» – «Средства записи действий» – для Windows 10 или «Пуск» – «Стандартные» – «Средство записи действий по воспроизведению неполадок» – для Windows 7 и 8.1.
С помощью данной утилиты можно пошагово отследить весь путь работы процесса буферизации и определить, в каком моменте возникают затруднения.
Средство записи действий в Windows 10
Утилита записывает все действия от старта записи, делая скриншоты на каждом шаге и поясняя все проводимые действия.
Читайте также: