Страница 1 из 1

Преобразование пути к файлу, и последующий Copy

Добавлено: Пт май 23, 2014 14:13
Olejko
Доброго времени суток!
Подскажите пожалуйста, каким образом средствами TC можно преобразовать путь к файлу?
Например, было:
/DIR1/DIR2/DIR3/...DIRn/images/filename.jpg

Необходимо получить следующую ссылку на файл, желательно сразу скопировать в буфер
/images/filename.jpg

В принципе в буфер копировать не обязательно, главное чтобы открылось окно, в котором можно выделить новые каталог и имя файла, а затес скопировать через Ctrl+C
Заранее спасибо за помощь.

Добавлено: Пт май 23, 2014 17:23
Flasher
Olejko
С учётом "например" не очень ясен принцип отрезания начала пути. Не в таком ключе? Или главный критерий отсекания - это нумерация в конце имени каждой папки?
Система новее XP?
И конечная цель копирования в чём состоит, если не секрет?

Добавлено: Пт май 23, 2014 17:30
Olejko
2 Flasher:
Да, именно в таком ключе.
Из "/DIR1/DIR2/DIR3/images/filename.jpg" сделать "/images/filename.jpg".

Результат обрезания "лишних" директорий вывести в PopUp с возможностью последующего выделения и копирования в буфер.

Добавлено: Пт май 23, 2014 17:54
Flasher
Olejko
Так и не понял. В таком - это в каком из двух приведённых? Если первый, то там, как видно, требовалась работа со списками в режиме без подкаталогов. И отрезаются только идентичные части.
И я ещё два вопроса задал.
И ещё пару:
3) Выбираться будет всегда только один файл? Со списками работать не надо?
4) Возможность выделения приоритетней, чем копирование в буфер?

Добавлено: Пт май 23, 2014 18:07
Olejko
Flasher

Мне бы хотелось автоматизировать следующий сценарий.
Есть FTP.
На FTP хранятся jpg.
JPG нужны для сайта.
Через TC я подключаюсь к ФТП, на фтп есть каталог следующего вида:
/dir1/dir2/dir3/.../images/имя_папки, всегда_разное/file.jpg, на котором находятся картинки.
Сейчас я через alt+enter просматриваю свойства файла для того чтобы скопировать необходимые мне пути файла /images/имя_папки, всегда_разное/file.jpg для последующей вставки в сайт.
Хотелось бы упростить процесс копирования - чтоб не целиться мышкой, а сразу копировать нужный путь.

Всегда будет выбираться один файл, со списками работать не надо.
Было б лучше, если бы новая ссылка не сама копировалась в буфер, а открывалось окно типа PopUP с возможностью выделения и копирования соотвествующего поля для получения новой ссылки.

Добавлено: Пт май 23, 2014 19:39
Flasher
Тогда всё просто.

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

' Параметр: %V
Path = WScript.Arguments(0): Test = InStrRev(Path, "/images/")
If Test Then InputBox String(5, vbnewline) & "Скопируйте относительный путь:", Space(25) & "Файл изображения на FTP", Mid(Path, Test)
В добавление хочу отметить, что вызов окна свойств по Alt+Enter при наличии в ТС команд копирования полных путей (cm_CopyFullNamesToClip) и вставки пути к элементу под курсором в командную строку (Ctrl+Shift+Enter) выглядит, мягко говоря, странной альтернативой. Не говоря уже о таком примитивном способе добычи пути из кнопки:

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

TOTALCMD#BAR#DATA
OPENCUSTOMVIEW
?%P%O.%E
wcmicons.dll,45
Путь элемента под курсором

Добавлено: Пн май 26, 2014 13:57
Olejko
Спасибо.
Остался только один вопрос - то ли лыжи не едут, то ли...
Я скопировал код:

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

' Параметр: %V 
Path = WScript.Arguments(0): Test = InStrRev(Path, "/images/") 
If Test Then InputBox String(5, vbnewline) & "Скопируйте относительный путь:", Space(25) & "Файл изображения на FTP", Mid(Path, Test)
Вставил его в файл, сохранил файл (в трех разных форматах - txt, cmd, vbs).
Установил параметр %V.
Добавил кнопки на панель.
Пытаюсь перенести файл - то ошибка, то ничего не происходит.
Что надо еще сделать чтобы скрипт заработал ?

Добавлено: Пн май 26, 2014 18:03
Flasher
Расширение скрипта - vbs.
Какой файл и куда его перенести, не понял?
См. памятку.

Добавлено: Ср май 28, 2014 15:23
Olejko
Наверно, я написал сильно не понятно.
Я хочу сделать следующее.
Через TC с помощью плагина для работы SFTP я подключаюсь к серверу, на которой находятся файлы для публикации на сайте.
Если нажать на ALT+Enter, то путь к файлу будет таким (открывается окно File Properties):

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

«/dir1/dir2/dir3/../dirN/images/filename.jpg»
Если нажать на Ctrl+Shift+Enter, то путь к файлу будет с обратным слешем (это не правильно).

Как сделать так, чтобы ТС смог вернуть путь (в буфер или в сплывающее окно) в формате

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

/images/filename.jpg

Добавлено: Ср май 28, 2014 19:14
Flasher
Olejko писал(а): с помощью плагина для работы SFTP я подключаюсь к серверу
Об этом изначально надо было писать. Я телепатией не владею и не знаю, что используется не встроенный функционал с иным протоколом, и какой там из плагинов меняет слеш на бэкслеш.
Да и какой именно плагин? Гислеровский?

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

' Параметр: %V 
Path = WScript.Arguments(0): Test = InStrRev(Path, "\images") 
If Test Then InputBox String(5, vbnewline) & "Скопируйте относительный путь:", Space(25) & "Файл изображения на FTP", Replace(Mid(Path, Test), "", "/")
В таком виде работает?

Добавлено: Ср май 28, 2014 23:05
Olejko
Sorry
Натупил ((

Завтра попробую, сегодня нет возможности.
Плагин вот отсюда:
http://www.ghisler.com/plugins.htm
Называется SFTP.
Спасибо за отзывчивость.

Добавлено: Чт май 29, 2014 01:56
Flasher
Да, Гислеровский, но у меня ругается на отсутствие библиотек, хотя они на месте, поэтому не могу проверить...

Добавлено: Чт май 29, 2014 13:43
Olejko
Огромное спасибо!!! :o :o :o
Все заработало!!!