Копирование базовых имён выбранных объектов в буфер обмена
Select messages from
# through # FAQ
[/[Print]\]

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

#1: Копирование базовых имён выбранных объектов в буфер обмена Author: Dimsok PostPosted: Wed May 02, 2018 01:10
    —
Имеется нужда в скрипте для копирования имён выделенных элементов в буфер обмена, т.е аналогично cm_CopyNamesToClip, но без расширений.

#2:  Author: FlasherLocation: Москва PostPosted: Wed May 02, 2018 01:20
    —
Code:
'==================== VBS ==================
' Скопировать выбранные имена без расширений
' Параметры: %Z%WF
' Ключ /n оставляет "\" на конце имён папок
'===========================================
If WSH.Arguments.Count Then List = WSH.Arguments(0) Else WSH.Quit
Ex = "]+$" : Set FSO = CreateObject("Scripting.FileSystemObject")
If WSH.Arguments.Named.Exists("n") Then Ex = "\\]+(?=\\|$)"
With New RegExp
  .Global = True : .MultiLine = True : .Pattern = "\n$|\.[^.\n" & Ex
  All = .Replace(FSO.OpenTextFile(List,,,-1).ReadAll, "")
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


Last edited by Flasher on Wed May 23, 2018 19:34; edited 3 times in total

#3:  Author: Dimsok PostPosted: Wed May 02, 2018 01:28
    —
Спасибо.

#4:  Author: FlasherLocation: Москва PostPosted: Sun May 20, 2018 04:29
    —
Dimsok
Поправил один косяк. Имена без расширений вырезались.

И ещё вопрос, который я, откровенно говоря, продинамил. Имена папок копируются с \ на конце. Это же условие для восстановление из буфера. Получается, если мы отрезаем .ext\, то остаются базовые имена без \. Так как в данном случае верно поступать? Заботиться о восстановлении выделения папок без .ext или оставить как есть, подразумевая, что это могут быть имена файлов?

#5:  Author: Dimsok PostPosted: Wed May 23, 2018 02:46
    —
Опять же в зависимости от нужд. Можно иметь 2 варианта, либо добавить опцию в один скрипт. Команда TC "Копировать имена файлов в буфер" тоже копирует имена папок с "\".

#6:  Author: FlasherLocation: Москва PostPosted: Wed May 23, 2018 14:40
    —
Dimsok
Она именно поэтому и копирует, чтобы можно было восстановить выделение папок.
Но вопрос в том, когда это вообще может понадобиться? Где требуется восстанавливать выделение папок без расширений?
С другой стороны, вариант c удалением .ext\ оставляет \ у папок, не имевших '.ext'. Получается ни то ни сё.
Ключ я добавил, но вопросы остались открытыми.

P.S.: Сразу не мог ответить. На форуме антиспам-сбой произошёл, посты не отправлялись.



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


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

Page 1 of 1

Powered by phpBB © 2001, 2005 phpBB Group