Разница в формате передаваемых параметров

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

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

Ответить
Аватара пользователя
gora
Сообщения: 442
Зарегистрирован: Чт дек 30, 2004 13:09
Откуда: Иваново

Разница в формате передаваемых параметров

Сообщение gora »

1 Создаем папку c:\test
2 В ней два скрипта test.vbs, test.bat и файл Имя кириллицей с пробелами.txt
3 Скрипты:
test.vbs

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

MsgBox Wscript.Arguments(0)
test.bat

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

@Echo Off
Echo %*
Pause>Nul
4 Создаем две кнопки на панели для запуска скриптов:

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

TOTALCMD#BAR#DATA
c:\test\test.vbs
%P%N %P%S
C:\Windows\System32\WScript.exe,2
test


-1

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

TOTALCMD#BAR#DATA
c:\test\test.bat
%P%N %P%S
C:\Windows\System32\imageres.dll,-68
test


-1
5 На левой панели открываем упомянутую папку
6 На правой в той же папке поиском ищем файл Имя кириллицей с пробелами.txt и результаты поиска выводим на панель (правую)
7 Перетаскиваем файл Имя кириллицей с пробелами.txt с левой панели на обе кнопки по очереди, затем перетаскиваем тот же файл с правой панели по очереди.
8 Получаем:
https://dl.dropbox.com/u/35142695/dif_data.png

Почему в окнах консоли мы видим одинаковые результаты, а в окнах vbs результаты (формат переданных параметров) различаются ?

Спасибо.
Win7 SP1 Ultimate x64, TC8.52a x64
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Работу скриптов принято обсуждать в подфоруме "Автоматизация", куда всё это и переносится.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
gora
Сообщения: 442
Зарегистрирован: Чт дек 30, 2004 13:09
Откуда: Иваново

Сообщение gora »

Avada писал(а):Работу скриптов принято обсуждать в подфоруме
Avada
Дело не в скриптах, а в передаче Тоталом параметров, но пусть будет здесь.

Поигрался с параметрами кнопок, менял их, ставил даже %L, а потом совсем удалил их - результат тот же самый.
Значит при перетаскивании ТС передает какой-то иной параметр (или же его передает оболочка), но какой? Каков его формат? И почему он разный для разного представления панелей?
Win7 SP1 Ultimate x64, TC8.52a x64
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Согласен, что вопрос к скриптам отношение имеет весьма косвенное.
Всего параметров при таком способе TC передаёт в vbs 4 (ни больше ни меньше), сепарируя по пробелу. Кавычки ни подставные, ни автоматические ничего не дают. Почему-то в этом режиме параметры при D&D возвращают именно короткие пути. Можно свободно обращаться к Гислеру по поводу передачи параметров из списка результатов поиска. Кстати, там ещё косяки есть в этом режиме (возможно, я их где-то уже описывал - не помню).
Сам никогда перетаскиваниями на кнопки скриптов не баловался за ненадобностью.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
gora
Сообщения: 442
Зарегистрирован: Чт дек 30, 2004 13:09
Откуда: Иваново

Сообщение gora »

Flasher писал(а):Кавычки ни подставные, ни автоматические ничего не дают.
При полном отсутствии параметров в кнопках кавычки уже и ставить некуда, а имя файла все равно передается. При D&D, видимо, параметры в кнопке игнорируются.
Flasher писал(а):Почему-то в этом режиме параметры при D&D возвращают именно короткие пути.
И тоже не факт, что короткое. В батник передается ВСЕГДА длинное да еще и в кавычках, а вот в vbs при D&D из панели, действительно короткое, но при D&D из панели с результатами поиска, длинное и без кавычек.
Flasher писал(а):Сам никогда перетаскиваниями на кнопки скриптов не баловался за ненадобностью
При D&D автоматически выбирается нужная панель и курсор устанавливается на нужный файл. :) Привычка...

Добавлено спустя 25 минут:

Сделал еще две кнопки для запуска test.au3 и test.exe, скомпилированного из этого test.au3.
test.au3:

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

MsgBox(0,'',$CmdLine[1])
В кнопках убрал передаваемые параметры.
Кнопка для test.au3 дает для D&D результаты аналогичные кнопке с vbs, а вот кнопка для test.exe, в обоих случаях D&D показывает полные пути без кавычек!
Win7 SP1 Ultimate x64, TC8.52a x64
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

gora писал(а):При полном отсутствии параметров в кнопках кавычки уже и ставить некуда, а имя файла все равно передается. При D&D, видимо, параметры в кнопке игнорируются.
Есть такое. И число передаваемых параметров прямо зависит от числа пробелов.
gora писал(а):И тоже не факт, что короткое. В батник передается ВСЕГДА длинное да еще и в кавычках
Я как раз про vbs писал.
gora писал(а):и курсор устанавливается на нужный файл.
Это как?

Про AutoIt понятно. Однако..
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Ответить