BufferGo.vbs - В буфер заданный текст
|
|
Andrey_A | Дата: Среда, 29.02.2012, 18:45 | Сообщение № 1 |
Генералиссимус
На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
|
Помещает в буфер обмена заданный текст Используется NirCmd.exe - файл можете скачать в теме: утилиты NirCmd
Доступно только для пользователей
|
|
| |
shveicar | Дата: Воскресенье, 21.10.2012, 13:46 | Сообщение № 2 |
|
Добрый день. Скрипт конечно удобный, но на мой взгляд, не хватает возможности помещать в буфер обмена весь выделенный текст (все имена выделенных файлов) в текущей панели. Получается, что при таком выделении - копируется имя только верхнего файла, а остальные игнорируются. Если такая возможность имеется, то прошу добавить ее в скрипт для расширения его функционала. Особенно интересно чтоб работал параметр %О для всех выделенных файлов. Спасибо.
И еще одно предложение: (но это видимо уже, должен быть отдельный скрипт) Часто приходится редактировать кнопки на панели задач, особенно пути к скриптам, ввиду их постоянного совершенствования. Поэтому, каждый раз воспользовавшись к примеру данным скриптам, или командой cm_CopyFullNamesToClip, приходиться удалять из пути строки вида j:\8total\Utils\TCIMG_2.1\GroupDescripts.vbs поскольку, в кнопке уже есть путь %COMMANDER_PATH% Нельзя ли придумать вариант, который будет удалять из копируемого в буфер текста - ненужный фрагмент (допустим отдельный изменяемый пункт в скрипте) или еще лучше, заменять определенный, постоянный фрагмент, - другим, то есть автоматом преобразовывать строку вида j:\8total\Utils\TCIMG_2.1\GroupDescripts.vbs в %COMMANDER_PATH%\Utils\TCIMG_2.1\GroupDescripts.vbs Конечно, если речь идет об изменении одной кнопки, смысла создавать скрипт нет, но стараюсь периодически (раз в месяц) проводить обновления и вот тут то и начинается гимор...
Сообщение отредактировал shveicar - Воскресенье, 21.10.2012, 14:22 |
|
| |
Andrey_A | Дата: Воскресенье, 21.10.2012, 14:56 | Сообщение № 3 |
Генералиссимус
На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
|
Quote (shveicar) помещать в буфер обмена весь выделенный текст Для этого есть другой скрипт, который делает с именами что хошь CopyLineInPathToClip.au3 - Преобразование путей выделенных файлов в различные формы (строки) и отправка полученного в буфер обмена
Quote (shveicar) Особенно интересно чтоб работал параметр %О для всех выделенных файлов.
Копировать ЧИСТЫЕ ИМЕНА CTRL+SHIFT+N
Доступно только для пользователей
Quote (shveicar) удалять из копируемого в буфер текста - ненужный фрагмент Этот функционал добавлю в утилиту TCIMG, там поддержка буфера уже есть , но позже - накопилось 4 интересных функции, которые надо внедрить - как соберусь так сразу всё
|
|
| |
shveicar | Дата: Воскресенье, 21.10.2012, 15:50 | Сообщение № 4 |
|
Ок, Спасибо.
|
|
| |
Demok1980 | Дата: Вторник, 14.01.2014, 10:36 | Сообщение № 5 |
Рядовой
На сайте с: 14.01.2014
Город: Волгоград
Сообщений: 2
|
Здравствуйте! Я пытаюсь начать писать скрипты. Пока освоил только метод SendKeys. Сейчас мне нужно написать скрипт, который просто помещал бы некоторый текст в буфер обмена. Много просмотрел в Интернете статей, форумов и наткнулся на Ваш. Здесь нашёл готовый скрипт BufferGo.vbs Скачал, запустил ничего не происходит. Не пойму, что сделал не так? Утилиту NirCmd.exe - скачал и поместил в папку Windows.
Что ещё нужно, чтобы ' "Привет" - попал в буфер как "Привет" И ещё сразу один вопрос: как при помощи VBS загнать в буфер текущую дату? Знаю, что есть встроенная функция Date, которая возвращает текущую дату.
Спасибо.
|
|
| |
Andrey_A | Дата: Среда, 15.01.2014, 04:16 | Сообщение № 6 |
Генералиссимус
На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
|
Цитата Demok1980 ( ) Утилиту NirCmd.exe - скачал и поместил в папку Windows. Значит необходимо изменить путь. В шапке темы КОЛЛЕКЦИЯ СКРИПТОВ есть описание "Как использовать скрипты"
Для отправки в буфер обмена может использоваться любая утилита, которая имеет умеет работать с буфером: - Через NirCmd Доступно только для пользователей
Через TCIMG
Код ' отправить слово "Привет" в буфер обмена Dim WSH : Set WSH = WScript.CreateObject("WScript.Shell") TCIMG = GetPath("%COMMANDER_PATH%\TCIMG.exe") ' путь до утилиты TCIMG Text = "Привет" WSH.Run Chr(34) & TCIMG & Chr(34) & " clpup=" & Text , 2,True Function GetPath(pPath) : GetPath = WSH.ExpandEnvironmentStrings(pPath) : End Function
Код ' отправить дату в буфер обмена Dim WSH Set WSH = WScript.CreateObject("WScript.Shell") TCIMG = GetPath("%COMMANDER_PATH%\TCIMG.exe") ' путь до утилиты TCIMG WSH.Run Chr(34) & TCIMG & Chr(34) & " clpup=" & Date , 2,True Function GetPath(pPath) : GetPath = WSH.ExpandEnvironmentStrings(pPath) : End Function
Рекомендую начать изучать Autoit - он более функционален.
|
|
| |
Demok1980 | Дата: Четверг, 23.01.2014, 21:18 | Сообщение № 7 |
Рядовой
На сайте с: 14.01.2014
Город: Волгоград
Сообщений: 2
|
Спасибо огромное! Всё получилось. Добавлено (23.01.2014, 21:18) --------------------------------------------- Доброго времени суток!
Подскажите, пожалуйста, можно ли сравнить содержимое буфера обмена с каким-нибудь значением, чтобы можно было создать условие. Например, есть константа 10, а в буфере содержится число 5. Если значение буфера рано константе, то продолжение выполнения, нет - завершение работы.
Если такое возможно, то как это реализовать в программном коде VBS?
Спасибо.
|
|
| |
Andrey_A | Дата: Четверг, 23.01.2014, 22:05 | Сообщение № 8 |
Генералиссимус
На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
|
Цитата Demok1980 ( ) сравнить содержимое буфера обмена
Код Clip = CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text") If Clip = "5" Then MsgBox "Переменная Clip =" & vbNewLine & "<" & Clip & ">" Else MsgBox "упс" End If
|
|
| |