Обсуждение темы "Обмен кнопками"

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

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

Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Tol!k
А чтобы список начинался без "пробела", реалли?

Отлично! Спасибо.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Дискуссия по кнопкам для работы с 7-Zip отделена в самостоятельную тему.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

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

TOTALCMD#BAR#DATA: 
%comspec% 
/c (if exist "filelist.lst" echo,>>"filelist.lst")&type %L>>"filelist.lst"
shell32.dll,134 
Создать список файлов c дозаписью 

1 
-1
Задача, максимально приблизить создание файл-списка для открытия и работы с ним в DiskDir Extended. Пока я себе это плохо представляю.
Только не имитация нажатия клавиш, иначе вернемся к разговору о погоде и сусликах.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

ask-rus

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

@echo off &chcp 1251 >nul
setlocal enableextensions

rem  Параметры: %F "filelist.lst"

if not exist %2 echo %cd%\> %2
for /f "tokens=1-3,*" %%a in (
'for /f "usebackq delims=" %%f in ^("%~1"^) do @echo,%%~zf	%%~tf	%%f'
) do (
for /f "tokens=1-3 delims=./-" %%m in ("%%b") do @echo,%%d	%%a	%%o.%%n.%%m	%%c>> %2
)
rem  каждые 3 пробела перед %% после echo замените на табуляцию.
rem  Важно! Архивировать только файлы, иначе получится неправильный формат списка.
Аватара пользователя
Andrey_A
Сообщения: 394
Зарегистрирован: Пт апр 10, 2009 06:28
Откуда: Сочи
Контактная информация:

Сообщение Andrey_A »

Помогите создать кнопку конвертации .au3 в .exe файла под курсором
Есть утилита Aut2exe.exe и есть параметры командной строки

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

Aut2Exe.exe /in <infile.au3> [/out <outfile.exe>] [/icon <iconfile.ico>] [/comp 0-4] [/nopack] [/pack] [/ansi] [/unicode] [/x64] [/console] [/gui]
Необходимо файл ...au3 под курсором внести в панель утилиты. Что только не делал - выскакивают параметры ком строки, ну мол я не то что-то делаю, хотя там ничего сложного нет, ничего не получается...
Аватара пользователя
Lev
Сообщения: 392
Зарегистрирован: Ср мар 02, 2005 16:34

Сообщение Lev »

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

TOTALCMD#BAR#DATA
"c:\Program Files\AutoIt3\Aut2Exe\Aut2exe.exe"
/in %P%N
c:\Program Files\AutoIt3\Aut2Exe\Aut2exe.exe
Aut2exe
c:\Program Files\AutoIt3\Aut2Exe\

-1
Аватара пользователя
Andrey_A
Сообщения: 394
Зарегистрирован: Пт апр 10, 2009 06:28
Откуда: Сочи
Контактная информация:

Сообщение Andrey_A »

Спасибо, разобрался, просто exeшники в папке конвертора были испорченные, удалил и скопировал из архива, теперь всё работает
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

"Копировать полные имена файлов", используя этот "инструмент" для копирования полного пути файла с FTP, получаю, пример:
Далее, вставляя куда-либо, приходится изменять "ftp" на "http":
Сэкономим 5 сек?
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Samwatas
Сообщения: 95
Зарегистрирован: Сб сен 12, 2009 20:26

Сообщение Samwatas »

Можно наваять скрипт в Автоит, который будет висеть в фоне и проверять буфер обмена. Если там появилась строка, которая начинается с ftр:// , то заменить её на httр:// .
Сам скрипт будет занимать 4 строчки:

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

While 1
   Sleep(100)
   If StringLeft(ClipGet(), 6) == "ftp://" Then ClipPut("ht" & StringTrimLeft(ClipGet(), 1))
WEnd
При желании его можно усложнить для обработки множества строк, скопированных в буфер обмена.
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Samwatas писал(а):Можно наваять скрипт в Автоит, который будет висеть в фоне и проверять буфер обмена.
Спасибо, но мне это немножечко не подходит. Не хотелось бы, чтобы что-то висело в фоне.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Samwatas
Сообщения: 95
Зарегистрирован: Сб сен 12, 2009 20:26

Сообщение Samwatas »

А как тогда лучше?
Скопировать ссылку, нажать кнопку для исправления и потом вставить исправленную ссылку куда надо?
Тогда просто убери первую, вторую и последнюю строчки (оставь только одну строчку - которая начинается с If). программа запустится, исправит в буфере ссылку и закроется.
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

ask-rus
Решение здесь.
Нет, я не сплю. Я просто медленно моргаю.
Samwatas
Сообщения: 95
Зарегистрирован: Сб сен 12, 2009 20:26

Сообщение Samwatas »

Тогда и я предложу более универсальное решение:

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

If $CmdLine[0] == 0 Then
	ClipPut(StringReplace(ClipGet(), "ftp://", "http://"))
Else
	ClipPut(StringReplace($CmdLineRaw, "ftp://", "http://"))
EndIf
Если вызывать скомпилированный экзешник без параметров командной строки, то он будет заменять ftp на http в буфере обмена, если же в кнопке прописать %P%S (хотя я не уверен в этих параметрах - я не пользуюсь тоталовским ftp соединением, поэтому не знаю как он будет копировать в фтп-шном окне), то он скопирует с заменой в буфер обмена всё выделенное в панели.
П.С. Batya
Я бы предложил менять ftр:// на httр:// , а не ftр на httр - так надёжнее (вдруг в имени файла встретится случайно, например файл с именем softport или leftpage).
Ну и наконец в моём случае не нужно устанавливать TCScript.Helper - достаточно положить скомпилированный экзешник в любое удобное место и вытянуть кнопку на панель.
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

Samwatas писал(а):Я бы предложил менять ftр:// на httр:// , а не ftр на httр - так надёжнее (вдруг в имени файла встретится случайно, например файл с именем softport или leftpage).
Согласен, но я сделал по запрашиваемым условиям. Плюс применения vbs - любой может при желании поменять текст скрипта без необходимости компилировать.
Samwatas писал(а):Ну и наконец в моём случае не нужно устанавливать TCScript.Helper - достаточно положить скомпилированный экзешник в любое удобное место и вытянуть кнопку на панель.
Мы предложили варианты, а пользователи пусть выбирают, кому что удобней.
Нет, я не сплю. Я просто медленно моргаю.
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Выбрали:

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

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\PLUGINS\vbs\123.vbs

%COMMANDER_PATH%\WCMICONS.DLL
Копировать полные имена файлов с заменой "ftp://" на "http://"


-1
Batya
Спасибо.
&
Samwatas
Спасибо.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Ответить