View previous topic :: View next topic |
Author |
Message |
helb
Joined: 08 Oct 2014 Posts: 57
|
(Separately) Posted: Thu Oct 16, 2014 14:14 Post subject: Вставка содержимого буфера в новый файл (текст/изображениe) |
|
|
Батник, использующий nircmd для вставки содержимого буфера (текст или изображение) в новый файл в текущей панели. Жмем хоткей (например Ctrl+Shift+V), вводим имя — получаем файл. Оставляем поле пустым — файл автоматически называется по текущей дате-времени без расширения. Формат изображения определяется nircmd по расширению (по-умолчанию PNG).
Параметр в TC: “?%O” .
Не забудьте поменять путь к nircmd на свой.
Code: | @echo off
REM Paste clipboard content to new file. Text or image (image format determined by extension).
REM Filename in parameter. Defaults to current date-time.
set nircmd=B:\Progs\AUTO\NirLauncher\NirSoft\nircmd-x64.exe
if not [%1]==[] goto havearg
for /f "tokens=2 delims==" %%I in ('wmic os get localdatetime /format:list') do set dt=%%I
set fname=%dt:~0,4%-%dt:~4,2%-%dt:~6,2%_%dt:~8,6%
start "" /wait %nircmd% clipboard writefile %fname%
if not exist %fname% %nircmd% clipboard saveimage %fname%
exit /b
:havearg
set arg=%1
set arg=%arg:~0,1%
set arg=%arg:"=///%
if ///==%arg% (
start "" /wait %nircmd% clipboard writefile %*
if not exist %* %nircmd% clipboard saveimage %*
) else (
start "" /wait %nircmd% clipboard writefile "%*"
if not exist "%*" %nircmd% clipboard saveimage "%*"
)
|
|
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Fri Oct 31, 2014 20:44 Post subject: |
|
|
Имеется такой скрипт:
' Создать файл с текстом буфера обмена (при наличии) и открыть его в редакторе
' Параметры: "%P" "<путь к редактору>"
'===================================================================================
P = WScript.Arguments(0) : Ed = WScript.Arguments(1)
Set FSO = CreateObject("Scripting.FileSystemObject")
Dim WSH : Set WSH = CreateObject("WScript.Shell")
R = "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\2007"
A = WSH.RegRead(R)
If A > 0 Then WSH.RegWrite R, 0, "REG_DWORD"
Clip = CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text")
If A > 0 Then WSH.RegWrite R, A, "REG_DWORD"
If Trim(Clip) = "" Then Quit
File = FSO.GetBaseName(FSO.GetTempName) & ".txt"
FSO.OpenTextFile(P & File, 2, True).Write Clip : WSH.Exec(Ed & " " & File) : Quit
Function Quit : Set WSH = Nothing : Set FSO = Nothing : WScript.Quit : End Function
Хотелось бы, чтобы в его модификации названия создаваемых файлов были более информативными, например, по текущему времени, со структурой, анологичной той, которая получается при работе вот с таким батом:
rem @echo off
set dd=%DATE%
set tt=%TIME%
set /a ddd=%dd:~0,2%
IF %ddd% LSS 10 (
SET day=0%ddd%) else (
SET day=%ddd%)
set month=%dd:~3,2%
set year=%dd:~6,4%
set /a ttt=%tt:~0,2%
IF %ttt% LSS 10 (
SET hour=0%ttt%) else (
SET hour=%ttt%)
SET minute=%tt:~3,2%
SET sec=%tt:~6,2%
echo %day% %month% %year% %hour% %minute% %sec%
copy nul %day%.%month%.%year%_%hour%.%minute%.%sec%.txt
Ну и чтобы была опция, открывать его в текстовом редакторе при создании или нет |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Nov 01, 2014 14:33 Post subject: |
|
|
Dimsok
Прочти памятку в части оформления кодов, а также ремарки снизу.
Мой скрипт (и его модификация) находится за 5 секунд хотя бы по названию. Где спрашивать и как давать ссылку на нужный пост вместо оверквотинга, надеюсь, уже рассказывать не надо (это всё также прописано в памятке).
Непосредственно по запросу ответ здесь. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Sat Nov 01, 2014 17:13 Post subject: |
|
|
Flasher. c nircmd не открывается в блокоте и не только не открыаетя, но и не создается. А с удалением части создается без дописывания sendkeypress.
Кстати, нельзя как-то настроить, чтобы файл в уникоде создавался? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Nov 01, 2014 17:23 Post subject: |
|
|
Думаю, у тебя где-то ошибка. nircmd давно обновлял?
Dimsok wrote: | А с удалением части создается без дописывания sendkeypress. | Панель сам будешь обновлять? См., там ещё с переходом пример есть.
С Юникодом у nircmd проблемы. Тут - либо скриптом либо Акелем. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Sat Nov 01, 2014 17:32 Post subject: |
|
|
Какая ошибка? Я скопировал кнопку и поменял только путь для ниркоммандера. .А насчет обновления не знаю, моментально новый созданный файл отображается.
И ещё, ниркоммандер никак не влияет на windows script host. Вот после использования в некоторых скриптах (например тех, которые для этой же цели предназначены) стала вылазить ошибка. Помню такое и раньше было, как раз испльзовал нир. Может это совпадение, не знаю. Но эти скрипты я минут 10 назад нормально использовал
Nircmd 2.75 |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Nov 01, 2014 17:39 Post subject: |
|
|
Dimsok wrote: | поменял только путь для ниркоммандера | Папку?
Dimsok wrote: | моментально новый созданный файл отображается. | Автообновление стоит, значит, хотя даже с ним не моментально.
Dimsok wrote: | И ещё, ниркоммандер никак не влияет на windows script host. Вот после использования в некоторых скриптах (например тех, которые для этой же цели предназначены) стала вылазить ошибка. | Так нет объектной модели, просто утилита запускается. C WSH тут вообще никаких завязок. А ошибки могут возникать только при неверном синтаксисе либо неграмотно используемых переменных в комстроке. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Sat Nov 01, 2014 17:44 Post subject: |
|
|
%COMMANDER_PATH%\
Вот путь. Нир лежит в корневой папке тотала. Да ведь то же самое работает для создания файлов без открытия. А про неверный синтакстис, я ведь в них ничего не менял, просто использую по нажатию горячей клавиши. Ладно, после перезагруза должно нормализоваться |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Nov 01, 2014 17:50 Post subject: |
|
|
А у тебя в процессах не висят nircmd?
Но вообще, даже если открытия не происходит, то файл всё равно должен создаваться. Проверь.
Вопрос, а если вместо notepad прописать полный путь к редактору в кавычках - откроет? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Sat Nov 01, 2014 17:55 Post subject: |
|
|
Нет в процессах. Да проверял не раз. Даже полный путь к блокноту указывал. А если путь к акелпад указать?
Добавлено спустя 26 минут:
Ты там кстати кавычки в параметрах не использовал. Называется, учись, студент |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Nov 01, 2014 18:45 Post subject: |
|
|
Не понял - там это где? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Sat Nov 01, 2014 18:56 Post subject: |
|
|
Ну с %P. А вот все равно не работает даже с путем к редактору в кавычках. Ты тестировал у себя?
Добавлено спустя 3 минуты:
А блин, вроде щас и так работает. Я попробовал в папке с пробелами, не создавалось. Думал там надо "%P"%
Добавлено спустя 2 минуты:
Кстати, какая разница между "%P"% и "%P% Вроде и так и так работает
Добавлено спустя 9 минут:
Ооо, заработало, не понятно из за чего
Добавлено спустя 2 минуты:
Возможно у меня глюки из-за скрипта в опере для автокопирования выделенного текста |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Nov 01, 2014 19:16 Post subject: |
|
|
Вообще не понимаю, о чём ты. Кавычки все на месте.
Dimsok wrote: | Кстати, какая разница между "%P"% и "%P% | Не нужно вообще рассматривать вырванный кусок в контексте параметров ТС. %% возвращает в комстроке % и в данном случае касается только cmd. %P берётся в кавычки, только пребывая в одиночестве.
Dimsok wrote: | Ооо, заработало, не понятно из за чего | Что именно? Я отсюда не вижу твоих танцев с бубном. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Sat Nov 01, 2014 19:22 Post subject: |
|
|
В 12 раз скопировал твою кнопку, сменил путь и заработало. Или в 13. Я не суеверный.
Я про то, что к примеру у тебя "%P%%date. Могут быть глюки, если будет "%P"%%date |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|