Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows 7 (http://forum.oszone.net/forumdisplay.php?f=95)
-   -   Как задать быстрый вызов приложений из cmd (http://forum.oszone.net/showthread.php?t=328235)

Joni 10-07-2017 17:09 2750427

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

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

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

raddy 10-07-2017 17:31 2750433

Цитата:

Цитата Joni
думал так »

Это назначение переменной, а не команды.
Цитата:

Цитата Joni
читал инструкции но не удается разобрать как это все выглядит на практике. »

Создать total.bat с содержимым
Код:

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

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

x0r 10-07-2017 19:35 2750457

по нормальному - никак. До сих пор, в уиндовс нету простых и таких нужных 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 2750471

Цитата:

Цитата x0r
Эти комманды, этот файл будет исполняться каждый раз для каждого окна консоли. »

Не для каждого окна консоли, а только для интерпретатора команд cmd.exe.

Цитата:

Цитата x0r
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 2750499

Ага. Iska, пральные замечания.
Только, путь-путём и Фар нисамненна годнота.. но тут немного другое ;-) тут же про aliases, про короткие имена для программ\комманд
Цитата:

Цитата Joni
чтоб я мог запускать программы из коммандной строки при этом не находясь в каталоге самой программы а также не вводя правильно или полное названия приложения. »

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

@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 2750503

В каких случаях при запуске программы не надо указывать полный путь к ней
https://www.outsidethebox.ms/12669/

Iska 11-07-2017 00:18 2750521

Vadikan, пару уточнений по статье можно сделать?

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

Цитата:

Цитата x0r
Только, путь-путём и Фар нисамненна годнота.. но тут немного другое ;-) тут же про aliases, про короткие имена для программ\комманд »

Дык в Far Manager'е есть и консоль с командной строкой, и псевдонимы, и App Paths «искаропки» без использования «start» :).

x0r 16-07-2017 00:33 2751708

Цитата:

Цитата Iska
Дык в Far Manager'е есть и консоль с командной строкой, и псевдонимы, и App Paths «искаропки» без использования «start» »

совершенно верно. тока юзеров "винды" долго дрессировале на предмет нинада_вам_консоль_консоль_беееэээ... , что и я тоже паддался. ТС моё всё. А на CTRL+Z повесил скрипт с нужными %path% и вызовом консоли в активной панели. А там UnixUtils и остальное. Норм., чё ;-)


Время: 11:49.

Время: 11:49.
© OSzone.net 2001-