Копировать в буфер обмена полные имена с прямым слэшем

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Ответить
Cherubic
Сообщения: 3
Зарегистрирован: Чт мар 21, 2019 12:24

Копировать в буфер обмена полные имена с прямым слэшем

Сообщение Cherubic »

В TC есть стандартная кнопка cm_CopyFullNamesToClip, возможно ли её как-то настроить или использовать другую, чтобы при копировании пути до файла обратный слеш (\) менялся на прямой (/)?

PS: искал решение на форуме, того что нужно не нашел...
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Cherubic
Ни настроек у этой команды нет, ни других команд для этого нет. Решать задачу можно только через средства автоматизации. Но прежде хорошо бы пояснить, зачем это нужно.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Cherubic
Сообщения: 3
Зарегистрирован: Чт мар 21, 2019 12:24

Сообщение Cherubic »

В ветке про автоматизацию я видел несколько похожих решений, но там другие задачи, более сложные. Мне же просто нужна автозамена \ на / в пути.
Суть в чём, сам TC отображает пути через \ и соответственно копирует их так же, но для других программ или сред мне нужны пути через /.
Возможно не стоит искать замену кнопки, а нужно поменять общее отображение пути к файлу, но как это сделать я тоже не знаю :)
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Код: Выделить всё

'=================== VBS =================
' Скопировать полные имена с прямым слэшем
' Параметры: %Z%WL
'=========================================
If WSH.Arguments.Count Then List = WSH.Arguments(0) Else WSH.Quit
Set FSO = CreateObject("Scripting.FileSystemObject")
All = Replace(FSO.OpenTextFile(List,,,-1).ReadAll, "\", "/")
With CreateObject("SAPI.SpFileStream")
  .Format.Type = 1 : .Open List, 3 : .Write All : .Close
End With
CreateObject("WScript.Shell").Run "%ComSpec% /c clip<" & List, 0
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Тема переносится в "Автоматизацию". Заголовок заменён на отвечающий сути задачи.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Cherubic
Сообщения: 3
Зарегистрирован: Чт мар 21, 2019 12:24

Сообщение Cherubic »

Flasher огромное спасибо!
Sadyrbaev
Сообщения: 5
Зарегистрирован: Сб июн 26, 2021 23:09

Сообщение Sadyrbaev »

Flasher писал(а):

Код: Выделить всё

'=================== VBS =================
' Скопировать полные имена с прямым слэшем
' Параметры: %Z%WL
'=========================================
If WSH.Arguments.Count Then List = WSH.Arguments(0) Else WSH.Quit
Set FSO = CreateObject("Scripting.FileSystemObject")
All = Replace(FSO.OpenTextFile(List,,,-1).ReadAll, "", "/")
With CreateObject("SAPI.SpFileStream")
  .Format.Type = 1 : .Open List, 3 : .Write All : .Close
End With
CreateObject("WScript.Shell").Run "%ComSpec% /c clip<" & List, 0
Не подскажите новичку в тотале что с этим кодом делать? мне нужно то же самое, прямой слеш.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Sadyrbaev
К подфоруму по автоматизации специально прилеплена памятка. Все ответы на подобные вопросы — там.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

Два скрипта PowerPro:
ClipFile
ClipListDialog
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Ответить