View previous topic :: View next topic |
Author |
Message |
Lovel
Joined: 25 Jul 2005 Posts: 6
|
(Separately) Posted: Mon Jul 25, 2005 09:39 Post subject: Копирование полного пути в буфер |
|
|
Можно ли сделать копирование полного пути в буфер с кавычками, если путь содержит пробелы? А то приходится ctrl-shift-enter и копировать из ком.стр. - не очень удобно. |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Mon Jul 25, 2005 12:38 Post subject: |
|
|
Могу написать скриптик.
В кавычки заключать только имена с пробелами или все? |
|
Back to top |
|
|
D1P
Joined: 20 Dec 2004 Posts: 2973 Location: Тбилиси
|
(Separately) Posted: Mon Jul 25, 2005 12:43 Post subject: |
|
|
Посмотри в сторону команды cm_CopyFullNamesToClip (вешается на хоткей или в меню). Хотя кавычки оно не вставляет. |
|
Back to top |
|
|
Lovel
Joined: 25 Jul 2005 Posts: 6
|
(Separately) Posted: Mon Jul 25, 2005 13:08 Post subject: |
|
|
Batya wrote: | Могу написать скриптик.
В кавычки заключать только имена с пробелами или все? |
Если можно. Вроде бы проблемы только с этим.
D1P wrote: | cm_CopyFullNamesToClip. Хотя кавычки оно не вставляет. |
Вот именно, что не вставляет |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Mon Jul 25, 2005 15:34 Post subject: |
|
|
Lovel
Code: | '==================================================
' Копирование в буфер путей файлов с кавычками
' В параметрах вызова из 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 |
Сохрани код в файле *.vbs, повесь файл на кнопку, пропиши в параметрах кнопки %L. Для работы (для занесения в буфер) используется TCWSHelp.
Если нужно, чтобы все строки заключались в кавычки, закомментируй проверку условия вхождения пробела в имя, т.е. строки 20 и 22 - поставь в начале строк апостроф.
Если хочешь, чтобы выводилось сообщение после работы скрипта, раскомментируй строку 26.
Last edited by Batya on Thu Feb 04, 2010 20:51; edited 2 times in total |
|
Back to top |
|
|
Lovel
Joined: 25 Jul 2005 Posts: 6
|
(Separately) Posted: Tue Jul 26, 2005 10:18 Post subject: |
|
|
Batya wrote: |
Set TCS = CreateObject("TCScript.Helper")
|
Вот тут ругается: "ActiveX component can't create object: 'TCScript.Helper'". Правда подозреваю, что это у меня с виндой что-то. |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Tue Jul 26, 2005 10:47 Post subject: |
|
|
Lovel
Я же писал, что нужен TCWSHelp - >>>>> WSH Helper for TC beta9 <<<<<.
Скопируй его в отдельную папку, например, d:\TotalCmd\Utils\TCWSHelp, и зарегистрируй - просто запусти TCWSHelp.exe. После этого данный объект можно будет использовать в скриптах (что в моем скрипте и происходит). |
|
Back to top |
|
|
Lovel
Joined: 25 Jul 2005 Posts: 6
|
(Separately) Posted: Tue Jul 26, 2005 12:11 Post subject: |
|
|
Batya wrote: | Я же писал, что нужен TCWSHelp - [url=http://wincmd.ru/files/tcwshelp_b9.zip] |
Я не понял просто, спасибо большое, все работает. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Feb 03, 2010 04:31 Post subject: |
|
|
Batya
Ставил давно, недавно вспомнил о нём.
Не хочет скрипт работать. Установка нового TCWSHelp не помогало. "%L" само собой прописан.
Пишет синтаксическую ошибку: строка 9 (как у Lovel), символ 15, код 800A03EA. Что-то я не узрил толком ошибки. Что может быть не так? |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2567
|
(Separately) Posted: Wed Feb 03, 2010 13:37 Post subject: |
|
|
Flasher wrote: | Что может быть не так? | Скорее всего в файле скрипта Code: | Set TempFile = CreateObject("Scripting.FileSystemObject").OpenTextFile(WScript.Arguments(0), 1) | записан не в одну строчку, как у Batya, а в две. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Feb 03, 2010 14:39 Post subject: |
|
|
sa wrote: | записан не в одну строчку, как у Batya, а в две. |
Да, сработало, только если копировать несколько, получается так
"Путь/Name1.*"КВАДРАТ"Путь/Name2.*" |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2567
|
(Separately) Posted: Wed Feb 03, 2010 15:45 Post subject: |
|
|
Это символ возврата каретки: chr(13). Отделяет в буфере одну запись от другой. А чего хотелось бы? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Feb 03, 2010 16:17 Post subject: |
|
|
sa wrote: | А чего хотелось бы? |
Хотелось бы списком, как в случае с cm_CopyFullNamesToClip . |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2567
|
(Separately) Posted: Wed Feb 03, 2010 16:45 Post subject: |
|
|
Flasher wrote: | Хотелось бы списком | Скорее всего, достаточно добавить символ перевода строки chr(10): Code: | FileNames = FileNames & StrInFile & chr(13) & chr(10) | Добавил 03.02.10:
ну и 1 поменять на 2 Code: | TCS.SetTextToClip(Left(FileNames, Len(FileNames) - 2)) |
Last edited by sa on Wed Feb 03, 2010 17:45; edited 1 time in total |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Feb 03, 2010 17:06 Post subject: |
|
|
sa wrote: | Скорее всего, достаточно добавить символ перевода строки chr(10) |
Ага, почти, только в конце списка каретка появляется.) С одним файлом та же история. |
|
Back to top |
|
|
|