Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Windows > %Path%


Автор: CaptainNemo 23.1.2009, 23:23
Помогите разобраться. 
Почему, в консоли командой, например start la – запускаю LigthAlloy, start fireforx – запускаю Мозилу, start nero – запускаю Nero и т.д. В тоже время запустить Total Commander (start totalcmd) или Opera (start opera) не получается.  Т.е. я знаю название исполняемого файла из Program Files но могу запустить только некоторые из них. Почему?
Как я понимаю, при выполнении этих команд идет их поиск в переменных окружения path. Ну вот, например мои path: 

user posted image

Автор: CompWorm 24.1.2009, 00:10
path это путь к папкам а не кпргам...
сами проги прописываются где-то в другом месте.

Автор: corpsehunter 24.1.2009, 00:15
Ну все правильно, path - это пути к папкам. Вот и добавь туда папки от оперы и тотала или просто создай папку, куда скидаешь все ярлыки для нужных прог и добавь в пути только ее.

Автор: CaptainNemo 24.1.2009, 00:37
Мне добавлять ничего не нужно. Этот вопрос интересует чисто теоретически. Почему одни файлы можно запускать, а другие нет. Задавал поиск в TC. Исполняемые файлы, которые запускаются командой start (или просто набором в Выполнить) находятся только в папке Program Files (также как и те, которые не запускаются). Всегда срабатывают winword, excel, la, nero, firefox, но многие не запускаются. 

Автор: SneG0K 24.1.2009, 02:01
CaptainNemo, чтобы запустить что-то командой start, нужно указать пусть к этому что-то. Явный или не явный.

Цитата(CaptainNemo @  23.1.2009,  23:37 Найти цитируемый пост)
winword, excel, la, nero, firefox

Они записаны в переменных окружения.

Цитата(CaptainNemo @  23.1.2009,  22:23 Найти цитируемый пост)
Total Commander (start totalcmd) или Opera (start opera) не получается.

Они не добавляют себя в переменные окружения.

Добавлено через 32 секунды
А при чем здесь patch?

Автор: 01MDM 24.1.2009, 20:26
Цитата

Ну вот, например мои path:

А что мешает добавить собственные пути в переменную %PATH%? Например: 
Код

reg add hkcu\Environment /v PATH /t reg_sz /d "C:\Documents and Settings\CaptainNemo\Bin" /f


Или прописать в батнике, который находится в %PATH% запуск любимых приложений? Допустим так:
Код

::
:: run.cmd
::
@echo off
setlocal enabledelayedexpansion
chcp 1251 1>nul

for %%i in ("%ProgramFiles%\Mozilla Firefox\firefox.exe" ^
            "%ProgramFiles%\Opera Software\opera.exe" ^
            "%ProgramFiles%\Total Commander\totalcmd.exe" ^
            "%ProgramFiles%\foobar2000\foobar.exe") do (
    set /a cnt+=1
    echo !cnt!. %%~ni
    set app_!cnt!=%%i
)
echo ------------------
set /p choice="Выберите какое приложение запустить 1-%cnt%: "

for /f "tokens=2 delims==" %%i in ('set app_%choice%') do start "" %%i


Еще добавлю, собственно по вопросу. Для того, чтобы запускать приложение из консоли или из "Выполнить" одним названием, допустим "firefox", необходимо что бы данное приложение было прописано в реестре по адресу:
Код

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths

Загляните в этот раздел и пропишите что нужно по образу и подобию уже существующих записей.

Автор: CaptainNemo 25.1.2009, 15:56
Спасибо за исчерпывающий ответ, 01MDM.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)