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 

Переменная %Commander_Path% в параметрах «кнопки»

 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
GGS



Joined: 02 May 2009
Posts: 322

Post (Separately) Posted: Thu Oct 08, 2009 09:55    Post subject: Переменная %Commander_Path% в параметрах «кнопки» Reply with quote

Есть работающая кнопка (пример):
Code:
TOTALCMD#BAR#DATA
cmd
/c COPY "F:\Program Files\TotalCmd\TOOLs\0.txt" "F:\Program Files\TotalCmd\TOOLs\1.txt"
TotalCmd.exe
Test-1


-1

Делаю замену пути на переменную:
Code:
TOTALCMD#BAR#DATA
cmd
/c COPY "%Commander_Path%\TOOLs\0.txt" "%Commander_Path%\TOOLs\1.txt"
TotalCmd.exe
Test-2


-1

Результат - кнопка НЕ работает. Что не так? TC 7.50a
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10415
Location: Россия, Саратов

Post (Separately) Posted: Thu Oct 08, 2009 10:17    Post subject: Reply with quote

GGS
В одну строку это прописать надо, не используя поле Параметры, вот и всё.
В моём примере (применительно к своему размещению TC):
Code:
TOTALCMD#BAR#DATA
cmd /c COPY %Commander_path%\0.txt %Commander_path%\1.txt

TotalCmd.exe
Test-2


-1

_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
GGS



Joined: 02 May 2009
Posts: 322

Post (Separately) Posted: Thu Oct 08, 2009 10:30    Post subject: Reply with quote

Avada
Я привёл упрощённый вариант, для примера.
На самом деле в задаче будут ипользоваться параметры типа %N и т.п. По этой причине нужно использовать %Commander_path% в строке параметров.
Back to top
View user's profile Send private message
GGS



Joined: 02 May 2009
Posts: 322

Post (Separately) Posted: Thu Oct 08, 2009 11:16    Post subject: Reply with quote

GGS wrote:
Что не так?

Разобрался. Как и в BAT-файлах символ % надо удваивать, т.е. правильно будет %%Commander_Path%%
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2224
Location: Москва, Россия

Post (Separately) Posted: Thu Oct 08, 2009 11:19    Post subject: Reply with quote

GGS
Т.к. в строке "Параметры" используются специальные шаблоны вида %N, %L и т.д., то при необходимости указать в этой строке символ "%" его необходимо задвоить, т.е. "%%". Т.о. приведённый пример должен выглядеть так:
Code:
TOTALCMD#BAR#DATA
cmd
/c COPY "%%Commander_Path%%\TOOLs\0.txt" "%%Commander_Path%%\TOOLs\1.txt"
TotalCmd.exe
Test-2


-1

Замечу, что символ "%" необходимо задваивать только для строки "Параметры". В строке "Команда", как в приведённом Avada варианте, задваивать "%" не надо.

Важно! Переменные окружения, указанные в строке "Параметры", должны самотоятельно обрабатываться применяемой командой (в данном случае "cmd"). Переменные окружения, указанные в строке "Команда", заменяются на соответствующие значения ТоталКоммандером перед выполнением команды.
Т.е., если используемая в кнопке команда не может самостоятельно обработать вхождение в свои параметры переменных окружения, то параметры необходимо указать в строке "Команда", а не "Параметры".
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group