Вставка содержимого буфера в новый файл (текст/изображениe)
Select messages from
# through # FAQ
[/[Print]\]
Goto page 1, 2, 3, 4, 5, 6, 7  Next  :| |:
Total Commander -> Автоматизация Total Commander

#1: Вставка содержимого буфера в новый файл (текст/изображениe) Author: helb PostPosted: Thu Oct 16, 2014 14:14
    —
Батник, использующий 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 "%*"
)

#2:  Author: Dimsok PostPosted: Fri Oct 31, 2014 20:44
    —
Имеется такой скрипт:

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

Ну и чтобы была опция, открывать его в текстовом редакторе при создании или нет

#3:  Author: FlasherLocation: Москва PostPosted: Sat Nov 01, 2014 14:33
    —
Dimsok
Прочти памятку в части оформления кодов, а также ремарки снизу.
Мой скриптего модификация) находится за 5 секунд хотя бы по названию. Где спрашивать и как давать ссылку на нужный пост вместо оверквотинга, надеюсь, уже рассказывать не надо (это всё также прописано в памятке).

Непосредственно по запросу ответ здесь.

#4:  Author: Dimsok PostPosted: Sat Nov 01, 2014 17:13
    —
Flasher. c nircmd не открывается в блокоте и не только не открыаетя, но и не создается. А с удалением части создается без дописывания sendkeypress.

Кстати, нельзя как-то настроить, чтобы файл в уникоде создавался?

#5:  Author: FlasherLocation: Москва PostPosted: Sat Nov 01, 2014 17:23
    —
Думаю, у тебя где-то ошибка. nircmd давно обновлял?
Dimsok wrote:
А с удалением части создается без дописывания sendkeypress.
Панель сам будешь обновлять? См., там ещё с переходом пример есть.

С Юникодом у nircmd проблемы. Тут - либо скриптом либо Акелем.

#6:  Author: Dimsok PostPosted: Sat Nov 01, 2014 17:32
    —
Какая ошибка? Я скопировал кнопку и поменял только путь для ниркоммандера. .А насчет обновления не знаю, моментально новый созданный файл отображается.

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

Nircmd 2.75

#7:  Author: FlasherLocation: Москва PostPosted: Sat Nov 01, 2014 17:39
    —
Dimsok wrote:
поменял только путь для ниркоммандера
Папку?
Dimsok wrote:
моментально новый созданный файл отображается.
Автообновление стоит, значит, хотя даже с ним не моментально.
Dimsok wrote:
И ещё, ниркоммандер никак не влияет на windows script host. Вот после использования в некоторых скриптах (например тех, которые для этой же цели предназначены) стала вылазить ошибка.
Так нет объектной модели, просто утилита запускается. C WSH тут вообще никаких завязок. А ошибки могут возникать только при неверном синтаксисе либо неграмотно используемых переменных в комстроке.

#8:  Author: Dimsok PostPosted: Sat Nov 01, 2014 17:44
    —
%COMMANDER_PATH%\

Вот путь. Нир лежит в корневой папке тотала. Да ведь то же самое работает для создания файлов без открытия. А про неверный синтакстис, я ведь в них ничего не менял, просто использую по нажатию горячей клавиши. Ладно, после перезагруза должно нормализоваться

#9:  Author: FlasherLocation: Москва PostPosted: Sat Nov 01, 2014 17:50
    —
А у тебя в процессах не висят nircmd?
Но вообще, даже если открытия не происходит, то файл всё равно должен создаваться. Проверь.

Вопрос, а если вместо notepad прописать полный путь к редактору в кавычках - откроет?

#10:  Author: Dimsok PostPosted: Sat Nov 01, 2014 17:55
    —
Нет в процессах. Да проверял не раз. Даже полный путь к блокноту указывал. А если путь к акелпад указать?

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

Ты там кстати кавычки в параметрах не использовал. Называется, учись, студент

#11:  Author: FlasherLocation: Москва PostPosted: Sat Nov 01, 2014 18:45
    —
Не понял - там это где?

#12:  Author: Dimsok PostPosted: Sat Nov 01, 2014 18:56
    —
Ну с %P. А вот все равно не работает даже с путем к редактору в кавычках. Ты тестировал у себя?

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

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

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

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

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

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

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

Возможно у меня глюки из-за скрипта в опере для автокопирования выделенного текста

#13:  Author: FlasherLocation: Москва PostPosted: Sat Nov 01, 2014 19:16
    —
Вообще не понимаю, о чём ты. Кавычки все на месте.
Dimsok wrote:
Кстати, какая разница между "%P"% и "%P%
Не нужно вообще рассматривать вырванный кусок в контексте параметров ТС. %% возвращает в комстроке % и в данном случае касается только cmd. %P берётся в кавычки, только пребывая в одиночестве.
Dimsok wrote:
Ооо, заработало, не понятно из за чего
Что именно? Я отсюда не вижу твоих танцев с бубном.

#14:  Author: Dimsok PostPosted: Sat Nov 01, 2014 19:22
    —
В 12 раз скопировал твою кнопку, сменил путь и заработало. Или в 13. Я не суеверный.

Я про то, что к примеру у тебя "%P%%date. Могут быть глюки, если будет "%P"%%date

#15:  Author: MVVLocation: Ростов-Дон PostPosted: Sat Nov 01, 2014 19:58
    —
Dimsok,
Присмотрись, у него кавычки стоят вокруг всего параметра, открывающая - перед %P, закрывающая - перед пробелом и следующим параметром.



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page 1, 2, 3, 4, 5, 6, 7  Next  :| |:
Page 1 of 7

Powered by phpBB © 2001, 2005 phpBB Group