Копирование полного пути в буфер

Обсуждение Total Commander. Установка, использование, настройка, решение проблем, скрытые функции. Обсуждение новых версий.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Господа, либо заканчивайте оффтоп (тем более, что всё существенное вроде бы уже сказано), либо я буду вынужден перенести эту часть дискуссии во Флейм.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Некто Baltazar500 поднял тему проблемной lst2multi:
Baltazar500 писал(а):он меня за исключением невозможности вкорячить двойные кавычки в префикс и постфикс более чем устраивает (ну да на этот случай у меня есть утянутый из сети vbs-скрипт и плагин по работе с ним, правда работает медленно)
Может, устроит:

Код: Выделить всё

'============================ VBS ============================
' Скопировать выбранные имена в кавычках при наличии пробелов,
' знаков табуляции или амперсандов
' Параметры: %Z%WF (полные имёна) или %Z%WL (полные пути)
'======================================== Автор: Flasher © ===
If WSH.Arguments.Count Then List = WSH.Arguments(0) Else WSH.Quit
With New RegExp
  .Global = 1 : .MultiLine = 1 : .Pattern = "^([^\r\n]*[ \t&][^\r\n]*)$"
  All = .Replace(CreateObject("Scripting.FileSystemObject")._
  OpenTextFile(List,,,-1).ReadAll, """$1""")
  .Pattern = "\r\n$" : .MultiLine = 0 : All = .Replace(All, "")
End With
With CreateObject("SAPI.SpFileStream")
  .Format.Type = 1 : .Open List, 3 : .Write All : .Close
End With
CreateObject("WScript.Shell").Run "%ComSpec% /c clip<" & List, 0

Код: Выделить всё

TOTALCMD#BAR#DATA
%ComSpec% /q/c chcp 65001>nul&<nul set
/p="%S"|clip
wcmicons.dll,45
Скопировать строчный список выбранных имён|в активной панели (с пробелами — в кавычках)

1
Последний раз редактировалось Flasher Пн фев 04, 2019 12:47, всего редактировалось 2 раза.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
imig73
Сообщения: 285
Зарегистрирован: Вт июн 18, 2013 13:21
Откуда: г. Иркутск

Сообщение imig73 »

Flasher
Очень нужно и полезно для батников, спасибо. Можно добавить в свою рабочую сборку?
Попробую доделать так, чтобы AcelPad открывался со скопированным содержимым, а то %F и %L кавычки игнорируют.

Кнопка копирует всё в одну строку, не удобно.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

imig73
Я где-то запрещал добавлять что-то в сборки? :)
imig73 писал(а):Попробую доделать так, чтобы AcelPad открывался со скопированным содержимым
Хм. Ожидать окно редактора и вставлять туда? Было такое в отношении буфера. Но это уже немного из другой оперы. Да и зачем?

У кнопки есть подсказка. Слово "строчный" (он же инлайновый) за себя говорит. Это альтернатива скрипту (она идёт отдельно), где берётся вертикальный список.
Строчные списки тоже нередко приходится формировать в различных комстроках.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
imig73
Сообщения: 285
Зарегистрирован: Вт июн 18, 2013 13:21
Откуда: г. Иркутск

Сообщение imig73 »

Flasher
Для приличия надо спросить :)
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

imig73
Не надо. Даже для приличия, т.к. это уже совсем неприлично. )) Я же не в приват коды выложил. ;)

Со скриптом разобрались? Там всё удобно?
А по части вставки из буфера в окно редактора могу скинуть решение (на другом форуме есть), но в иной теме.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
imig73
Сообщения: 285
Зарегистрирован: Вт июн 18, 2013 13:21
Откуда: г. Иркутск

Сообщение imig73 »

Flasher
В общем с именами файлов всё чётко, а у имён папок смущает взятый в кавычки "\".
Пример всавки:
"Папка обмена Bluetooth\"
"Агентский договор.doc"

Хотя нет, это даже логично и означает папку.

Если есть где то решение открыть AkelPad с содержимым буфера после скрипта, то хотелось бы посмотреть.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

imig73
Касаемо \ я было подумал, так как этот момент затрагивался, а потом забил, просто выложив свой скрипт.

Что касаемо содержимого, то сперва советую ознакомиться с недавним пояснением в рамках создания списка. Если нужно без создания, то создание темы таки потребуется. ;)
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
imig73
Сообщения: 285
Зарегистрирован: Вт июн 18, 2013 13:21
Откуда: г. Иркутск

Сообщение imig73 »

Flasher
Нет, создавать списки не нужно. Я попробую подумать позже как дописать ваш скрипт, чтобы его результаты сразу передались в редактор.
К примеру как сейчас у меня работает в [User], но конечно без кавычек.

menu38=Открыть список выделенного с полными путями
cmd38=%COMMANDER_PATH%\Utility\AkelPad\AkelPad.exe
param38=%L

Я пользуюсь этим как заготовкой для будущего cmd.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

imig73 писал(а):Я попробую подумать позже как дописать ваш скрипт
Чтобы долго не думалось, последнюю строку меняем на:

Код: Выделить всё

With CreateObject("WScript.Shell")
  .Run "%ComSpec% /c clip<" & List, 0, 1
  .Exec "%COMMANDER_PATH%\Utils\Akelpad\AkelPad.exe /Command(4101) /Command(4155)"
End With
imig73 писал(а):К примеру как сейчас у меня работает в [User]
Тут то же самое создание, только без копии.
Последний раз редактировалось Flasher Вс фев 03, 2019 22:13, всего редактировалось 2 раза.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
imig73
Сообщения: 285
Зарегистрирован: Вт июн 18, 2013 13:21
Откуда: г. Иркутск

Сообщение imig73 »

Flasher
Спасибо, класс!
Только надо ещё одну /Command() вставить чтобы новый документ создавал, а то если что-то уже открыто, то вставляется прямо туда где курсор :)

А вот это как раз /Command(4101), теперь норма.
Последний раз редактировалось imig73 Вс фев 03, 2019 22:01, всего редактировалось 1 раз.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

imig73 писал(а):чтобы новый документ создавал
imig73 писал(а):создавать списки не нужно
И где правда? :?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
imig73
Сообщения: 285
Зарегистрирован: Вт июн 18, 2013 13:21
Откуда: г. Иркутск

Сообщение imig73 »

Flasher
Ну чтоб текущий документ не портил... ужо дописал.
Отлично, теперь у меня будет два варианта. С текущим окном редактирования и новым :)
Последний раз редактировалось imig73 Вс фев 03, 2019 22:12, всего редактировалось 1 раз.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

imig73
Ну, тогда я тоже дописал (окно редактирования — не документ).

ЗЫ: Последнюю команду тоже убрал, из другой кнопки случайно вырезал.

Добавлено спустя 11 минут:
imig73 писал(а):теперь у меня будет два варианта.
Для этого можно ключ ввести.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
ZZZAlexZZZ
Сообщения: 68
Зарегистрирован: Сб мар 08, 2014 22:25

Сообщение ZZZAlexZZZ »

Flasher
Может с кнопкой не разобрался, но похоже теряется первая и последняя кавычка.
См. для примера:
...\total comand.log
...\Total Commander - Все команды.pdf
В буфере:
total comand.log" "Total Commander - Все команды.pdf
Ответить