Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: [Bug?] Неверная передача параметров из em_команды 
Author Message
Dimych



PostPosted: Mon May 12, 2008 01:35    Post subject: [Bug?] Неверная передача параметров из em_команды Reply with quote

Понадобилось написать VB-скрипт с передачей из em_команды 2-х параметров "Исходный путь" и "Путь назначения".
Чтоб понять как передаются параметры, был использован следующий bat-файл:

Code:
  @echo off
  echo 1 param - [%1]
  ....
  echo 9 param - [%9]
  echo Press any key
  pause
  exit

В первую очередь выяснилось, что TC НЕ заключает В кавычки автоматом у параматров %P и %T, если они содержат пробел(ы).
Теперь о проблеме. При задании в em_команде строки параметров в виде:

Code:
   param="%P" "%T"


и находясь в панелях c:\Documents and Settings\ и c:\Program Files\, по команде на входе батника получил:
Code:
   1 param - [c:\Documents]
   2 param - [and]
   3 param - [Settings\" "c:\Program]
   4 param - [Files\]


Когда же создал кнопку в ButtonBar с аналогичными параметрами, на входе батника получил:
Code:
   1 param - ["c:\Documents and Settings\"]
   2 param - ["c:\Program Files\"]
то есть правильно.

А когда подкорректировал em-команду:

Code:
   param="%P" "%T


(убрал последнюю кавычку), по команде (и по кнопке) на входе батника получил

Code:
1 param - ["c:\Documents and Settings\"]
2 param - ["c:\Program Files\]


Тоже нормальное поведение. Меня пока устроило, так как VBS сам очищает аргументы от кавычек.
Если же в строке параметров крайним справа или слева стоит параметр, который TC сам автоматически заключает в кавычки, то все параметры передаются нормально (напр. param=%N "%P" "%T").

P.S. Интересно, почему TC не заключает в кавычки содержание параметра %M с пробелам(и), а %N заключает?


WinXP Pro SP2, TC 7.03
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group