Войти

Показать полную графическую версию : Как задать быстрый вызов приложений из cmd


Joni
10-07-2017, 17:09
Привет всем не могу понять логику, как мне сделать чтоб я мог запускать программы из коммандной строки при этом не находясь в каталоге самой программы а также не вводя правильно или полное названия приложения.
т.е
думал так
C:\>SETX total "C:\Program Files (x86)\totalcmd\totalcmd64.exe"

Успех. Указанное значение сохранено.

C:\>total
"total" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
но как видите не катит, как делается это правильно, читал инструкции но не удается разобрать как это все выглядит на практике.
Спасибо!

raddy
10-07-2017, 17:31
думал так »
Это назначение переменной, а не команды.
читал инструкции но не удается разобрать как это все выглядит на практике. »
Создать total.bat с содержимым

@"C:\Program Files (x86)\totalcmd\totalcmd64.exe"

и записать его в какой-нибудь каталог из перечисленных в переменной PATH (её содержимое можно посмотреть командой set path) - например в C:\Windows .

И пробовать запустить total

x0r
10-07-2017, 19:35
по нормальному - никак. До сих пор, в уиндовс нету простых и таких нужных alias :search:
Но можно... сподвыподвертом:
- в реестре HKEY_CURRENT_USER\Software\Microsoft\Command Processor создать ключ REG_SZ с именем Autorun
туда вписать путь к bat\cmd-файлу : %SYSTEMROOT%\System32\ConsSet.bat
- создать этот самый файл и записывать туда макросы для doskey :

@echo off
DOSKEY np="C:\Program Files (x86)\totalcmd\totalcmd64.exe"
DOSKEY ls=dir /B

Эти комманды, этот файл будет исполняться каждый раз для каждого окна консоли. Дополняй его другими своими коммандами, переменными и проч. Можно сменить приглашение:

@ECHO OFF
PROMPT $_$P$_----------------------------------------------------$_$Q$G

DOSKEY np="C:\Program Files (x86)\totalcmd\totalcmd64.exe"
DOSKEY ls=dir /B



Т.е. в духе M$ - вроде алиасы и есть, но их кагбе нет, ибо doskey не научиле запоминать назначеные юзером макросы; только в пределах сессии. ужснх.

Iska
10-07-2017, 20:18
Эти комманды, этот файл будет исполняться каждый раз для каждого окна консоли. »
Не для каждого окна консоли, а только для интерпретатора команд cmd.exe.

DOSKEY np="C:\Program Files (x86)\totalcmd\totalcmd64.exe" »
doskey.exe tc="C:\Program Files (x86)\totalcmd\totalcmd64.exe" $*

Тем не менее, правильный путь — использовать Far manager и не выпендриваться добавить путь к Total Commander'у в PATH и не выпендриваться :).

x0r
10-07-2017, 22:26
Ага. Iska, пральные замечания.
Только, путь-путём и Фар нисамненна годнота.. но тут немного другое ;-) тут же про aliases, про короткие имена для программ\коммандчтоб я мог запускать программы из коммандной строки при этом не находясь в каталоге самой программы а также не вводя правильно или полное названия приложения. »

Вот, пример файла куда можно вносить свои наборы и одним запуском вносить и в реестр и писать в файл алиасы:

@echo off

(echo @echo off&echo prompt $_$p$_----------------------------------------------------$_$q$g
echo doskey ls=dir /b
echo doskey syn="d:\myprograms\fm\tc\plugins\wlx\synwrite\syn.exe" $*
echo doskey tc="d:\myprograms\fm\tc\totalcmd.exe"
echo doskey far="d:\myprograms\fm\far3\far.exe"

) > %SYSTEMROOT%\System32\ConsSet.bat

rem ---------------------------------------------------------------------------------------------------------------
reg add "HKEY_CURRENT_USER\Software\Microsoft\Command Processor" /v Autorun /t REG_SZ /d %%SYSTEMROOT%%\System32\ConsSet.bat /f > nul

pause
exit

Vadikan
10-07-2017, 22:39
В каких случаях при запуске программы не надо указывать полный путь к ней
http://www.outsidethebox.ms/12669/

Iska
11-07-2017, 00:18
Vadikan, пару уточнений по статье можно сделать?

Для командной строки тоже есть ShellExecute() — «start», и в этом случае имена из App Paths работают. Кроме HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths может быть задействован и аналогичный путь для текущего пользователя, HKCU (скажем, на HKLM прав нет, а хоцца).

Только, путь-путём и Фар нисамненна годнота.. но тут немного другое ;-) тут же про aliases, про короткие имена для программ\комманд »
Дык в Far Manager'е есть и консоль с командной строкой, и псевдонимы, и App Paths «искаропки» без использования «start» :).

x0r
16-07-2017, 00:33
Дык в Far Manager'е есть и консоль с командной строкой, и псевдонимы, и App Paths «искаропки» без использования «start» »
совершенно верно. тока юзеров "винды" долго дрессировале на предмет нинада_вам_консоль_консоль_беееэээ... , что и я тоже паддался. ТС моё всё. А на CTRL+Z повесил скрипт с нужными %path% и вызовом консоли в активной панели. А там UnixUtils и остальное. Норм., чё ;-)




© OSzone.net 2001-2012