Total Commander Knowledge Base

Есть вопрос?

Поищите ответ в самой большой русскоязычной базе знаний по Total Commander!

Копирование полного пути в буфер с кавычками

Q: Можно ли сделать копирование полного пути в буфер с кавычками, если путь содержит пробелы? А то приходится ctrl-shift-enter и копировать из командной строки - не очень удобно.
A: Код:

'==================================================
' Копирование в буфер путей файлов с кавычками

' В параметрах вызова из TC должно быть прописано:
' %L
'==================================================

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 & chr(13)
Loop
TCS.SetTextToClip(Left(FileNames, Len(FileNames) - 1))
'M1 = MsgBox("Копирование выполнено", vbOKOnly + vbInformation, "Результат")
Set TempFile = Nothing
Set TCS = Nothing
Wscript.Quit

Сохрани код в файле *.vbs, повесь файл на кнопку, пропиши в параметрах кнопки %L. Для работы (для занесения в буфер) используется Script Helper.
Если нужно, чтобы все строки заключались в кавычки, закомментируй проверку условия вхождения пробела в имя, т.е. строки 16 и 18 - поставить в начале строк апостроф.

Если хочешь, чтобы выводилось сообщение после работы скрипта, раскомментируй строку 22.

Batya