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: Работа параметров %P%S 
Author Message
MVV



PostPosted: Wed Aug 18, 2010 09:58    Post subject: Reply with quote

gora wrote:
А как трактовать это в справке?
Quote:
Параметры: Здесь вы можете определить параметры командной строки. Неизменяемые параметры должны быть указаны непосредственно после имени файла, потому что иначе при использовании Drag&Drop программе будет передано только имя файла.
Я так понимаю, что перетаскивание поддерживается и передача параметров при этом тоже должна осуществятся. Правда я не понял из справки КАК нужно правильно записать строку.

Хм, оказывается, эта фича даже документированаSmile поясняю: параметры, указанные непосредственно в строке "Команда:" после пути к программе, будут переданы в любом случае, а параметры, указанные в строке "Параметры:" - только если кнопка нажата, а не файл брошен на неё. Но здесь кроется другая проблема - в поле "Команда:" не поддерживаются %-параметры типа %P, %S и %N. Зато поддерживаются переменные окружения. Rolling Eyes

Tol!k wrote:
MVV wrote:
Всё работает без проблем.
Win7 ?
На WinXP стабильно отрицательный результат.

Хм, вообще, да. Проверю на виртуальной машине с XP.

А действительно, на XP не работает. Ну это уже глюки винды. Видимо, связанные как раз с тем, что командные файлы обрабатываются этим самым командным интерпретатором, а тот иначе обрабатывает кавычки, при этом путь к файлу, содержащий пробелы, рушится, и в мелькнувшем черном окне на мгновение появляется надпись вида:
Code:
"D:\TEMP\my" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

Причем, судя по тому, что поведение программы CMD.exe различно в XP и 7, создать универсальную кнопку сложно, для XP работает такая:
Code:
TOTALCMD#BAR#DATA
cmd /c "C:\TEMP\my downloads\1.bat"
%P%S
%COMMANDER_PATH%\TOTALCMD.EXE
pngslim


-1

А для 7 - такая:
Code:
TOTALCMD#BAR#DATA
cmd /c ""C:\TEMP\my downloads\1.bat"
%P%S"
%COMMANDER_PATH%\TOTALCMD.EXE
pngslim


-1

(разница - как раз в той самой паре кавычек, которую CMD из семерки удаляет - кстати, заодно уточнили, что командный процессор в семерке эту кавычку удаляет, а в XP - нет)

Здесь очень уместной будет одна из фраз, которую Tol!k довольно часто пишет (но почему-то здесь еще не написал) - пробелы - зло! Very Happy
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
View user's profile Send private message ICQ Number


Powered by phpBB © 2001, 2005 phpBB Group