MVV
|
Posted: Sat Aug 21, 2010 22:19 Post subject: |
|
|
GGS wrote: | Вопрос по переменным окружения.
Для теста использую команду: AskParam /c /t"%TIME%" /p cd.
Если команда выполняется из консоли (cmd /c), то подсказка %TIME% раскрывается в своё значение.
Если из ком.строки ТС или из ТС-кнопки, то просто вижу %TIME% как текст.
Речь только об отображении в окне ввода, в качестве параметра %1 передаётся правильно. Аналогично с %DATE%.
Переменные %COMMANDER_PATH%, %TEMP% и пр. раскрываются в качестве подсказки в своё значение, а эти - нет.
Можно исправить положение? |
Проблема в том, что %TIME% и %DATE% - псевдопеременные, о существовании которых знает лишь командный интерпретатор. Как официальные переменные окружения они не существуют. Вот почему другие программы не могут раскрыть их.
Но ты можешь запускать CMD, а из него AskParam. То есть, в данном случае потребуется лишь приписать строку cmd.exe /c перед путем к AskParam.exe: cmd.exe /c AskParam.exe /c /t"%TIME%" /p cd.
Единственный минус такого способа вызова - черное окно в фоне. Однако, если поставить галочку запуска программы в свернутом виде, оно будет запускаться в виде кнопки панели задач. Также можно создать ярлык для CMD.exe, в свойствах которого прописать запуск в свернутом виде и параметр /c - и запускать AskParam просто как параметр этого ярлыка. Тогда мы получим возможность задать значок и название кнопки на панели задач
Кстати, еще минус такого способа - то, что CMD.exe иногда криво обрабатывает параметры, если имя программы для запуска заключено в кавычки (там целая система, благодаря которой CMD.exe работает намного тупее, чем если бы ее вообще не было). _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|