![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Вставка текста из буфера обмена |
|
CMD/BAT - [решено] Вставка текста из буфера обмена
|
Новый участник Сообщения: 48 |
Всем салют! нужно вставить текст из буфера обмена в bat, ну т.е присвоить переменную %share%, и при вызывании %share% показывался текст из буфера обмена.
Пример: для показа текста из буфера можно использовать: @ECHO OFF & MSHTA.EXE "javascript:var s=clipboardData.getData('text');if(s)new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(s);close();" 1 | MORE Pause Заранее спасибо! |
|
Отправлено: 23:06, 05-06-2014 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Опять Вы не о том, что я хотел бы услышать.
Ну, пробуйте: Скрытый текст
@echo off setlocal enableextensions enabledelayedexpansion for /f "tokens=2 delims=:" %%i in ('chcp') do ( set sPrevCP=%%i >nul chcp 1251 ) for /f "usebackq delims=" %%i in ( `@"%systemroot%\system32\mshta.exe" "javascript:var s=clipboardData.getData('text'); {try {new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).WriteLine(s)} catch (e){}} close();" ^ 1^|more` ) do set sShare=%%i >nul chcp %sPrevCP% if defined sShare ( echo %sShare%| >nul 2>&1 findstr.exe /i /r /c:"[0-9][0-9][0-9][0-9]:[0-9][0-9]:[0-9][0-9]" && ( set sShare=%sShare::=.% echo [!sShare!] ) ) endlocal exit /b 0 |
Отправлено: 02:10, 05-10-2019 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
fascinating rhythm Сообщения: 6705
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 10:16, 05-10-2019 | #12 |
Старожил Сообщения: 345
|
Профиль | Отправить PM | Цитировать Цитата Iska:
если 000000:00:00 - тоже работает, а не должно. Проверка по маске нужна, чтобы в буфере не было комбинации отличной от маски. И чтобы выводилось echo "ERROR" в случае несоответствия, а затем exit /b 0. т.е. Если буфер соответствует маске 0000:00:00, то заменить ":" на "." и вывести echo [!sShare!] и exit /b 0, а если нет, то echo "ERROR" и exit /b 0. |
|
Отправлено: 11:21, 05-10-2019 | #13 |
fascinating rhythm Сообщения: 6705
|
Профиль | Отправить PM | Цитировать Цитата Sisin:
|
|
------- Отправлено: 11:58, 05-10-2019 | #14 |
Старожил Сообщения: 345
|
Профиль | Отправить PM | Цитировать DJ Mogarych, спасибо, но мне надо исключительно в bat.
|
Отправлено: 12:19, 05-10-2019 | #15 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Sisin, моя недоработка, приношу Вам свои извинения.
Добавьте в единственной строке то, что помечено выделенным: echo %sShare%| >nul 2>&1 findstr.exe /i /r /c:"^[0-9][0-9][0-9][0-9]:[0-9][0-9]:[0-9][0-9]$" && ( |
Отправлено: 14:15, 05-10-2019 | #16 |
Старожил Сообщения: 345
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 14:23, 05-10-2019 | #17 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Sisin, если error — тогда не 0.
Попробуйте так: Скрытый текст
@echo off setlocal enableextensions enabledelayedexpansion for /f "tokens=2 delims=:" %%i in ('chcp') do ( set sPrevCP=%%i >nul chcp 1251 ) for /f "usebackq delims=" %%i in ( `@"%systemroot%\system32\mshta.exe" "javascript:var s=clipboardData.getData('text'); {try {new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).WriteLine(s)} catch (e){}} close();" ^ 1^|more` ) do set sShare=%%i >nul chcp %sPrevCP% if defined sShare ( echo %sShare%| >nul 2>&1 findstr.exe /i /r /c:"^[0-9][0-9][0-9][0-9]:[0-9][0-9]:[0-9][0-9]$" && ( set sShare=%sShare::=.% echo [!sShare!] ) || ( echo Error exit /b 2 ) ) else ( echo Error exit /b 1 ) endlocal exit /b 0 |
Отправлено: 14:31, 05-10-2019 | #18 |
Старожил Сообщения: 345
|
Профиль | Отправить PM | Цитировать Цитата Iska:
![]() |
|
Отправлено: 14:44, 05-10-2019 | #19 |
Старожил Сообщения: 345
|
Профиль | Отправить PM | Цитировать Iska, подскажите, пожалуйста, почему эта строка:
echo %sShare%| >nul 2>&1 findstr.exe /i /r /c:"^[0-9][0-9][0-9][0-9]:[0-9][0-9]:[0-9][0-9]$" && ( имеет ограничение на количество цифр?? например, я хочу увеличить маску до 12345678:12345678:12345678, изменил на: "^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]:[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]:[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$" а строка не срабатывает. Вроде ограничений быть не должно. Если попробовать добавить цифры в маску здесь: http://forum.oszone.net/post-2890775.html#post2890775 то findstr.exe выдает ошибку. |
Отправлено: 16:40, 05-10-2019 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - как вытащить картинку из буфера обмена батником | angel_lyucifer | Скриптовые языки администрирования Windows | 25 | 21-11-2013 21:28 | |
Интернет - [решено] проблемы вставки пароля из буфера обмена (IE explorer) | shveicar | Microsoft Windows 7 | 2 | 18-05-2012 02:18 | |
Доступ - [решено] Не вставляются пароли из буфера обмена | lesha111 | Microsoft Windows 7 | 2 | 10-02-2012 22:00 | |
[решено] вставка из буфера | cher | Хочу все знать | 3 | 05-06-2011 07:06 | |
Вставка многострочного текста из буфера обмена в однострочное окно. | Do Not Disturb | Microsoft Windows 95/98/Me (архив) | 2 | 16-02-2007 19:42 |
|