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 

Копирование содержимого выделенных файлов в буфер обмена

 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
prog_san



Joined: 29 Sep 2007
Posts: 282
Location: Пенза

Post (Separately) Posted: Mon Jan 14, 2019 00:30    Post subject: Копирование содержимого выделенных файлов в буфер обмена Reply with quote

Здравствуйте.
Возникла задача: скопировать содержимое выделенных файлов в буфер обмена. Желательно перемежать полученный буфер строками с именами самих файлов. Хочется выделить файлы, нажать кнопку и вставить содержимое буфера обмена в Word документ.

Пример практического применения: формирование листинга исходных файлов проекта.

Поиск по форуму ничего конкретнее перенаправления в сlip не дал. Может быть кто-то уже решал подобные задачи?
_________________
Errare humanum est
Back to top
View user's profile Send private message
imig73



Joined: 18 Jun 2013
Posts: 285
Location: г. Иркутск

Post (Separately) Posted: Mon Jan 14, 2019 01:50    Post subject: Reply with quote

prog_san
Создайте кнопки с командами:
cm_CopyNamesToClip - копировать имена в буфер и cm_CopyFullNamesToClip - копировать в буфер имена с путями.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Mon Jan 14, 2019 02:09    Post subject: Reply with quote

prog_san
Есть скрипты склеивания и кнопка.

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



Joined: 18 Jun 2013
Posts: 285
Location: г. Иркутск

Post (Separately) Posted: Mon Jan 14, 2019 03:29    Post subject: Reply with quote

Flasher
Да ладно вам, "содержимое" видел но не догнал. Мне тоже это надо Smile
Со Старым новым годом!
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Mon Jan 14, 2019 04:16    Post subject: Reply with quote

imig73 wrote:
Мне тоже это надо
Что "это"? Текст группы файлов в буфер? Зачем вам?

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



Joined: 29 Sep 2007
Posts: 282
Location: Пенза

Post (Separately) Posted: Fri Jan 18, 2019 23:15    Post subject: Reply with quote

Flasher wrote:
Есть скрипты склеивания и кнопка.

Спасибо!
_________________
Errare humanum est
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Sat Jan 19, 2019 08:38    Post subject: Reply with quote

prog_san
Если очень надо одним скриптом, то на AutoHotKey (правда, без поддержки OEM и UTF-7/8 без ВОМ):
Code:
;:::::::::::::::::::::::: AHK ::::::::::::::::::::::::
; Отправить содержимое выбранных файлов в буфер обмена
; Параметры: %WL <разделитель>
; \n — перевод строки; \f — имя файла
; Примеры: %WL \n\f\n  |  %WL "\n\n===== \f =====\n\n"
;:::::::::::::::::::::::::::::::::::::::::::::::::::::
#NoEnv
#NoTrayIcon
ListLines, Off
SetBatchLines,-1
If !%0%
ExitApp
If 0 != 2
{ MsgBox, 4144, Текст файлов в буфер обмена, Укажите 2 параметра!, 1.5
  ExitApp
}

Delim = %2%
StringReplace Delim, Delim, \n, `r`n, All
Loop, Read, %1%
{ FileRead, Text, % A_LoopReadLine
  If Not ErrorLevel
    All .= StrReplace(Delim, "\f", RegExReplace(A_LoopReadLine, ".+\\")) . Text
}
If All !=
{ Clipboard =
  Clipboard = %All%
}

Либо на AutoIt (без поддержки OEM и UTF-7):
Code:
;:::::::::::::::::::::::: AU3 ::::::::::::::::::::::::
; Отправить содержимое выбранных файлов в буфер обмена
; Параметры: %WL <разделитель>
; \n — перевод строки; \f — имя файла
; Примеры: %WL \n\f\n  |  %WL "\n\n===== \f =====\n\n"
;:::::::::::::::::::::::::::::::::::::::::::::::::::::
If $CmdLine[0] = 0 Then Exit
If $CmdLine[0] <> 2 Then
  MsgBox(4144, " Текст файлов в буфер обмена", "Укажите 2 параметра!")
  Exit
EndIf
Global $All, $oList = FileOpen($CmdLine[1]), $Delim = StringReplace($CmdLine[2], '\n', @CRLF)
While 1
  $sLine = FileReadLine($oList)
  If @error Then ExitLoop
  $Text = FileRead($sLine)
  If Not @error Then $All &= StringReplace($Delim, '\f', StringRegExpReplace($sLine, '.+\\', '')) & $Text
WEnd
If $All <> "" Then ClipPut(StringRegExpReplace($All, '^\R+', ''))

_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
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
Page 1 of 1

 
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