Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Вставка содержимого буфера в новый файл (текст/изображениe)
Goto page 1, 2, 3, 4, 5, 6, 7  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
helb



Joined: 08 Oct 2014
Posts: 57

Post (Separately) Posted: Thu Oct 16, 2014 14:14    Post subject: Вставка содержимого буфера в новый файл (текст/изображениe) Reply with quote

Батник, использующий 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
View user's profile Send private message
Dimsok



Joined: 17 Aug 2014
Posts: 663

Post (Separately) Posted: Fri Oct 31, 2014 20:44    Post subject: Reply with quote

Имеется такой скрипт:

' Создать файл с текстом буфера обмена (при наличии) и открыть его в редакторе
' Параметры: "%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
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat Nov 01, 2014 14:33    Post subject: Reply with quote

Dimsok
Прочти памятку в части оформления кодов, а также ремарки снизу.
Мой скриптего модификация) находится за 5 секунд хотя бы по названию. Где спрашивать и как давать ссылку на нужный пост вместо оверквотинга, надеюсь, уже рассказывать не надо (это всё также прописано в памятке).

Непосредственно по запросу ответ здесь.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Dimsok



Joined: 17 Aug 2014
Posts: 663

Post (Separately) Posted: Sat Nov 01, 2014 17:13    Post subject: Reply with quote

Flasher. c nircmd не открывается в блокоте и не только не открыаетя, но и не создается. А с удалением части создается без дописывания sendkeypress.

Кстати, нельзя как-то настроить, чтобы файл в уникоде создавался?
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat Nov 01, 2014 17:23    Post subject: Reply with quote

Думаю, у тебя где-то ошибка. nircmd давно обновлял?
Dimsok wrote:
А с удалением части создается без дописывания sendkeypress.
Панель сам будешь обновлять? См., там ещё с переходом пример есть.

С Юникодом у nircmd проблемы. Тут - либо скриптом либо Акелем.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Dimsok



Joined: 17 Aug 2014
Posts: 663

Post (Separately) Posted: Sat Nov 01, 2014 17:32    Post subject: Reply with quote

Какая ошибка? Я скопировал кнопку и поменял только путь для ниркоммандера. .А насчет обновления не знаю, моментально новый созданный файл отображается.

И ещё, ниркоммандер никак не влияет на windows script host. Вот после использования в некоторых скриптах (например тех, которые для этой же цели предназначены) стала вылазить ошибка. Помню такое и раньше было, как раз испльзовал нир. Может это совпадение, не знаю. Но эти скрипты я минут 10 назад нормально использовал

Nircmd 2.75
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat Nov 01, 2014 17:39    Post subject: Reply with quote

Dimsok wrote:
поменял только путь для ниркоммандера
Папку?
Dimsok wrote:
моментально новый созданный файл отображается.
Автообновление стоит, значит, хотя даже с ним не моментально.
Dimsok wrote:
И ещё, ниркоммандер никак не влияет на windows script host. Вот после использования в некоторых скриптах (например тех, которые для этой же цели предназначены) стала вылазить ошибка.
Так нет объектной модели, просто утилита запускается. C WSH тут вообще никаких завязок. А ошибки могут возникать только при неверном синтаксисе либо неграмотно используемых переменных в комстроке.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Dimsok



Joined: 17 Aug 2014
Posts: 663

Post (Separately) Posted: Sat Nov 01, 2014 17:44    Post subject: Reply with quote

%COMMANDER_PATH%\

Вот путь. Нир лежит в корневой папке тотала. Да ведь то же самое работает для создания файлов без открытия. А про неверный синтакстис, я ведь в них ничего не менял, просто использую по нажатию горячей клавиши. Ладно, после перезагруза должно нормализоваться
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat Nov 01, 2014 17:50    Post subject: Reply with quote

А у тебя в процессах не висят nircmd?
Но вообще, даже если открытия не происходит, то файл всё равно должен создаваться. Проверь.

Вопрос, а если вместо notepad прописать полный путь к редактору в кавычках - откроет?
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Dimsok



Joined: 17 Aug 2014
Posts: 663

Post (Separately) Posted: Sat Nov 01, 2014 17:55    Post subject: Reply with quote

Нет в процессах. Да проверял не раз. Даже полный путь к блокноту указывал. А если путь к акелпад указать?

Добавлено спустя 26 минут:

Ты там кстати кавычки в параметрах не использовал. Называется, учись, студент
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat Nov 01, 2014 18:45    Post subject: Reply with quote

Не понял - там это где?
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Dimsok



Joined: 17 Aug 2014
Posts: 663

Post (Separately) Posted: Sat Nov 01, 2014 18:56    Post subject: Reply with quote

Ну с %P. А вот все равно не работает даже с путем к редактору в кавычках. Ты тестировал у себя?

Добавлено спустя 3 минуты:

А блин, вроде щас и так работает. Я попробовал в папке с пробелами, не создавалось. Думал там надо "%P"%

Добавлено спустя 2 минуты:

Кстати, какая разница между "%P"% и "%P% Вроде и так и так работает

Добавлено спустя 9 минут:

Ооо, заработало, не понятно из за чего

Добавлено спустя 2 минуты:

Возможно у меня глюки из-за скрипта в опере для автокопирования выделенного текста
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat Nov 01, 2014 19:16    Post subject: Reply with quote

Вообще не понимаю, о чём ты. Кавычки все на месте.
Dimsok wrote:
Кстати, какая разница между "%P"% и "%P%
Не нужно вообще рассматривать вырванный кусок в контексте параметров ТС. %% возвращает в комстроке % и в данном случае касается только cmd. %P берётся в кавычки, только пребывая в одиночестве.
Dimsok wrote:
Ооо, заработало, не понятно из за чего
Что именно? Я отсюда не вижу твоих танцев с бубном.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Dimsok



Joined: 17 Aug 2014
Posts: 663

Post (Separately) Posted: Sat Nov 01, 2014 19:22    Post subject: Reply with quote

В 12 раз скопировал твою кнопку, сменил путь и заработало. Или в 13. Я не суеверный.

Я про то, что к примеру у тебя "%P%%date. Могут быть глюки, если будет "%P"%%date
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Sat Nov 01, 2014 19:58    Post subject: Reply with quote

Dimsok,
Присмотрись, у него кавычки стоят вокруг всего параметра, открывающая - перед %P, закрывающая - перед пробелом и следующим параметром.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page 1, 2, 3, 4, 5, 6, 7  Next
Page 1 of 7

 
Jump to:  
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