Подобие команды cm_CopyNamesToClip
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
Подобие команды cm_CopyNamesToClip
Подскажите есть ли подобие команды cm_CopyNamesToClip мне нужно копировать в буфер обмена не только имя файла но и его размер и дату создание его подскажите как это можно сделать
- Вахмурка
- Сообщения: 2587
- Зарегистрирован: Пн дек 27, 2004 14:47
- Откуда: Большая деревня Москва
- Контактная информация:
http://powerpro.wincmd.ru/Scripts/ClipFileList.htm,
http://powerpro.wincmd.ru/Scripts/ClipListDialog.htm
http://powerpro.wincmd.ru/Scripts/ClipListDialog.htm
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
%WF/%UF, манипуляции с файлом с последующим выводом в буфер.ask-rus писал(а):cm_CopyNamesToClip и манипуляции с буфером?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
ask-rus, держи AHK
Код: Выделить всё
SendMessage, 1075, 2017, 0,, ahk_class TTOTAL_CMD
ClipWait, 2
Loop, Parse, Clipboard, `n, `r
{ SplitPath, A_LoopField,, d,, n
o .= (n ? n : d) "`n"
} Clipboard := o- LonerD
- Сообщения: 1174
- Зарегистрирован: Вт янв 04, 2011 03:56
- Откуда: Макеевка
- Контактная информация:
Вот такой ещё многовариантный скрипт на vbs есть. В основе - скрипт Андрея Аверина (не знаю - полностью ли делалось с нуля или заимствовались фрагменты из скриптов других авторов), немного я что-то переделывал под свои нужды.
Код: Выделить всё
'=================================================================
' Расширенное копирование в буфер имён и расширений файлов
'=================================================================
' Build: 1.55 (2012.12.17)
' Script: CopyNamesToClip.vbs
'=================================================================
' Parameters
' 1-й: Cписок файлов
' 2-й: Состав итогового списка:
' "1" - расширения файлов
' "2" - имена файлов
' "3" - "чистые имена" файлов (без расширения)
' 3-й: Разделитель (если = "##", то вводится в диалоге)
' 4-й:
' "1" - преобразовать список файлов в одну строку
' "0" (или другое значение) - не преобразовать
' 5-й: Начало строки
' 6-й: Конец строки
' Прим. 1 : одинаковые расширения/имена не добавляются
' Прим. 2 : начало и конец строк добавляются в каждую строку
'=================================================================
' %L "1" ";*." "1" "*." ";" - результат - *.vbs;*.txt;*.au3;
' %L "2" ";" "1" - результат - Read_me.txt;Wincmd.ini
' %L "3" "|" "1" - результат - Read_me|Wincmd|Wcmicons
'=================================================================
NirCmd = "%commander_path%\Plugins\exe\Nircmd\Nircmd.exe"
'=================================================================
Cnt = WScript.Arguments.Count
If Cnt > 2 Then
Endd = "" : Home = "" : Text = ""
Delim = WScript.Arguments(2)
If Cnt > 3 Then Llist = WScript.Arguments(3)
If Delim = "##" Then Delim = InputBox("Enter separator", "", ";")
If Len(Delim) = 0 and StrComp(Llist,1,vbTextCompare) = 0 Then Delim = ";"
Dim FSO, WSH
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = WScript.CreateObject("WScript.Shell")
If Cnt > 4 Then
Home = WScript.Arguments(4)
If Cnt > 5 Then Endd = WScript.Arguments(5)
End If
Set ListFile = FSO.OpenTextFile(GetPath(WScript.Arguments(0)), 1)
Do While Not ListFile.AtEndOfStream
File = ListFile.ReadLine
Ext = FSO.GetExtensionName(File)
If StrComp(Llist,1,vbTextCompare) = 0 Then
Select Case WScript.Arguments(1)
Case 1 Stroka = FSO.GetExtensionName(File)
Case 2 Stroka = FSO.GetBaseName(File) & "." & Ext
Case 3 Stroka = FSO.GetBaseName(File)
End Select
Else
Select Case WScript.Arguments(1)
Case 1 Stroka = Home & Ext & Endd
Case 2 Stroka = Home & FSO.GetBaseName(File) & "." & Ext & Endd
Case 3 Stroka = Home & FSO.GetBaseName(File) & Endd
End Select
End If
If InStr(UCase(Text), UCase(Stroka)) = 0 Then
If StrComp(Llist,1,vbTextCompare) = 0 Then
Text = Text & Stroka & Delim
Else
Text = Text & Stroka & Delim & vbCrLf
End If
End If
Loop
If StrComp(Llist,1,vbTextCompare) = 0 Then Text = Home & Left(Text, Len(Text) - Len(Delim)) & Endd
Tmp = FSO.GetSpecialFolder(2) & "\" & FSO.GetTempName()
FSO.CreateTextFile(Tmp, True).Write Text
WSH.Run Chr(34) & GetPath(NirCmd) & Chr(34) & " " & "clipboard readfile " & Tmp , 2,True
WScript.Sleep 1000
FSO.DeleteFile Tmp
Else
CreateObject("WScript.Shell").Exec(Chr(34) & NirCmd & Chr(34) & " clipboard clear")
End If
Set ListFile = Nothing : Set WSH = Nothing : Set FSO = Nothing: WScript.Quit
Function GetPath(pPath) : GetPath = WSH.ExpandEnvironmentStrings(pPath) : End Function
'=================================================================Windows 11 | TC DreamLair eternal pre-α
-
Serge Yolkin
- Сообщения: 664
- Зарегистрирован: Сб июл 25, 2009 11:12
ask-rus, держи HTA (обрабатывает параметр %S):без допутилит
Код: Выделить всё
MIME-Version: 1.0
Content-Type: application/octet-stream; name="baseNames2clipBoard.hta"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="baseNames2clipBoard.hta"
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhRE9DVFlQRSBodG1s
IFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4iDQogImh0dHA6Ly93
d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPg0KPGh0bWwgeG1s
bnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQogIDxzY3JpcHQg
dHlwZT0idGV4dC9qc2NyaXB0IiBsYW5ndWFnZT0iSlNjcmlwdCI+DQogICAgc2VsZi5tb3Zl
VG8oc2NyZWVuLndpZHRoLHNjcmVlbi5oZWlnaHQpOw0KICA8L3NjcmlwdD4NCiAgPG1ldGEg
aHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9
VVRGLTgiIC8+DQogIDxodGE6YXBwbGljYXRpb24NCiAgIGlkPSJIVEFwcCINCiAgIGNhcHRp
b249Im5vIg0KICAgdmVyc2lvbj0iMC41Ig0KICAgLz4NCjwvaGVhZD4NCjxzY3JpcHQgdHlw
ZT0idGV4dC9qc2NyaXB0IiBsYW5ndWFnZT0iSlNjcmlwdCI+DQogIHZhcg0KICAgZD1bXSwN
CiAgIGY9bmV3IEFjdGl2ZVhPYmplY3QoJ1NjcmlwdGluZy5GaWxlU3lzdGVtT2JqZWN0Jyks
DQogICByPW5ldyBSZWdFeHAoLyIoLio/KSIoPz1ccyt8JCl8KFtcU10rKS9nKTsNCiAgd2hp
bGUodD1yLmV4ZWMoSFRBcHAuY29tbWFuZExpbmUpKXtkLnB1c2godFsxXXx8dFsyXSk7fQ0K
ICByPScnOw0KICBpZihkLmxlbmd0aD4xKXsNCiAgICBmb3IodmFyIGk9MTtpPGQubGVuZ3Ro
O2krKylyKz1mLmdldEJhc2VOYW1lKGRbaV0pKydcbic7DQogICAgd2luZG93LmNsaXBib2Fy
ZERhdGEuc2V0RGF0YSgndGV4dCcscik7DQogIH1lbHNlIGFsZXJ0KCfQmtC+0L/QuNGA0YPQ
tdC8INC40LzQtdC90LAg0LLRi9C00LXQu9C10L3QvdGL0YUv0L/QvtC0INC60YPRgNGB0L7R
gNC+0Lwg0LIg0LHRg9GE0LXRgCDQsdC10Lcg0YDQsNGB0YjQuNGA0LXQvdC40LkuXG4nKw0K
ICAgJ9CU0LvRjyDQv9GA0LDQstC40LvRjNC90L7QuSDRgNCw0LHQvtGC0Ysg0L3QtdC+0LHR
hdC+0LTQuNC80L4g0YPQutCw0LfQsNGC0Ywg0YXQvtGC0Y8g0LHRiyDQvtC00LjQvSDQv9Cw
0YDQsNC80LXRgtGALicpOw0KICB3aW5kb3cuY2xvc2UoKTsNCjwvc2NyaXB0Pg0KPC9odG1s
Pg==ahk и nircmd у меня выдают кракозябры на кириллице.
LonerD
Меняй на clip и с параметром для уникодных имён сделай. И MVV верно написал, регулярные лучше цикла, значительно быстрее обработка.
LonerD
Меняй на clip и с параметром для уникодных имён сделай. И MVV верно написал, регулярные лучше цикла, значительно быстрее обработка.
КПСС.. Пардон.. (Ну, ты понял, длинные имена и т.д..)Serge Yolkin писал(а):%S
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Не подтверждено! [ Windows XP SP3 x86 | чистый TC 8.01 | AutoHotkey_L Unicode x86 1.1.09.04 ]Flasher писал(а):ahk у меня выдаёт кракозябры на кириллице.
Лучше использовать то, что работает и там, где подтверждено.mf-zl писал(а):Не подтверждено!
Win 7 x86 (Total тут роли не играет).
Понял. С ANSI, значит, не будет.mf-zl писал(а):AutoHotkey_L Unicode x86 1.1.09.04
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Код: Выделить всё
TOTALCMD#BAR#DATA
%ComSpec% /c
(for /f "delims=" %%# in ('type "%WL"') do @echo(%%~n#)|clip.exe
clipbrd.exe,1
Имена без расширений > Буфер
1
-1
-
Serge Yolkin
- Сообщения: 664
- Зарегистрирован: Сб июл 25, 2009 11:12