Копирование полного пути в буфер
Добавлено: Пн июл 25, 2005 09:39
Можно ли сделать копирование полного пути в буфер с кавычками, если путь содержит пробелы? А то приходится ctrl-shift-enter и копировать из ком.стр. - не очень удобно.
Форум поддержки пользователей Total Commander
https://forum.wincmd.ru/
Если можно. Вроде бы проблемы только с этим.Batya писал(а):Могу написать скриптик.
В кавычки заключать только имена с пробелами или все?
Вот именно, что не вставляетD1P писал(а):cm_CopyFullNamesToClip. Хотя кавычки оно не вставляет.
Код: Выделить всё
'==================================================
' Копирование в буфер путей файлов с кавычками
' В параметрах вызова из TC должно быть прописано:
' %L
'==================================================
Option Explicit
'===== Изменяемые параметры =======================
Dim Delimiter
Delimiter = vbNewLine 'Разделитель списка
'==================================================
Dim TempFile, TCS
Set TempFile = CreateObject("Scripting.FileSystemObject").OpenTextFile(WScript.Arguments(0), 1)
Set TCS = CreateObject("TCScript.Helper")
Dim StrInFile, FileNames, M1
FileNames = ""
Do While Not TempFile.AtEndOfStream
StrInFile = TempFile.ReadLine
If InStr(StrInFile, " ") <> 0 Then
StrInFile = chr(34) & StrInFile & chr (34)
End If
FileNames = FileNames & StrInFile & Delimiter
Loop
TCS.SetTextToClip(Left(FileNames, Len(FileNames) - Len(Delimiter)))
'M1 = MsgBox("Копирование выполнено", vbOKOnly + vbInformation, "Результат")
Set TempFile = Nothing
Set TCS = Nothing
Wscript.QuitВот тут ругается: "ActiveX component can't create object: 'TCScript.Helper'". Правда подозреваю, что это у меня с виндой что-то.Batya писал(а): Set TCS = CreateObject("TCScript.Helper")
Я не понял просто, спасибо большое, все работает.Batya писал(а):Я же писал, что нужен TCWSHelp - [url=http://wincmd.ru/files/tcwshelp_b9.zip]
Скорее всего в файле скриптаFlasher писал(а):Что может быть не так?
Код: Выделить всё
Set TempFile = CreateObject("Scripting.FileSystemObject").OpenTextFile(WScript.Arguments(0), 1) Да, сработало, только если копировать несколько, получается такsa писал(а):записан не в одну строчку, как у Batya, а в две.
Это символ возврата каретки: chr(13). Отделяет в буфере одну запись от другой. А чего хотелось бы?Flasher писал(а):КВАДРАТ
Хотелось бы списком, как в случае с cm_CopyFullNamesToClip .sa писал(а):А чего хотелось бы?
Скорее всего, достаточно добавить символ перевода строки chr(10):Flasher писал(а):Хотелось бы списком
Код: Выделить всё
FileNames = FileNames & StrInFile & chr(13) & chr(10)Код: Выделить всё
TCS.SetTextToClip(Left(FileNames, Len(FileNames) - 2))Ага, почти, только в конце списка каретка появляется.) С одним файлом та же история.sa писал(а):Скорее всего, достаточно добавить символ перевода строки chr(10)