18

Как я могу сделать псевдонимы команд в командной строке Windows, как это было бы с bash?

Я узнал о doskey в ветке форума, поэтому я могу сделать что-то вроде:

doskey ls=dir /b

... и теперь команда ls действует немного более похоже на ls в Unix. (Я часто пишу ls в cmd , это даже не смешно.)

Но как мне заставить это придерживаться между сессиями? Он исчезнет в следующий раз, когда я открою cmd.exe . (Есть ли что-то вроде .bash_profile?)

9 ответов9

33

Настроить постоянные псевдонимы в командной строке Windows довольно просто, используя команду @DOSKEY и параметр HKCU\Software\Microsoft\Command Processor Autorun.

Краткое пошаговое руководство:

  1. Создайте новый пакетный файл, назовите его Alias.bat . Скопируйте / вставьте текст ниже. СОВЕТ: Я рекомендую создать папку C:\Bin для всех ваших инструментов командной строки.
  2. Откройте реестр HKEY_CURRENT_USER\Software\Microsoft\Command Processor .
  3. Добавьте строковое значение с именем Autorun и задайте абсолютный путь к файлу Alias.bat .
  4. Готово.

Этот пакетный файл будет выполняться каждый раз, когда вы открываете командную строку.

Содержание Alias.bat

DOSKEY ls=DIR $* 
DOSKEY cp=COPY $* 
DOSKEY xcp=XCOPY $*
DOSKEY mv=MOVE $* 
DOSKEY clear=CLS
DOSKEY h=DOSKEY /HISTORY
DOSKEY alias=if ".$*." == ".." ( DOSKEY /MACROS ) else ( DOSKEY $* )

Теперь вы можете ввести alias (т.е. DOSKEY /MACROS), чтобы просмотреть текущий список псевдонимов / макросов.

Чтобы добавить новые псевдонимы только для текущего сеанса, вы можете использовать alias name=command .

8

Также вроде не по теме -

Используйте PowerShell вместо командной строки cmd.exe . Хорошей новостью является то, что PowerShell имеет эквивалент .bash_profile и работает так же, как командная строка cmd.exe . Он поставляется со встроенной функцией генерации псевдонимов. Плохая новость заключается в том, что есть некоторая кривая обучения, если вы хотите сделать что-то более сложное, чем простые команды cmd.exe .

Кстати, ls определяется как псевдоним dir , прямо из коробки.

3

В HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun есть запись реестра, которая позволяет запускать команду при запуске командной строки cmd. Это включает в себя пакетный файл.

1

Я предлагаю установить DOS версии этих команд прямо по этой ссылке.

Простой, легкий, эффективный и т.д. Уже какое-то время пользуюсь им, делает меня счастливым! Cygwin немного велик в том, что мне нужно.

0

Решая это путем установки среды PATH

создать файл ls.c

введите следующий код

int main()
{
system("dir /b");
return 0;
}

в ls.c и скомпилируйте файл:

$gcc ls.c -o ls

исполняемый файл ls.exe создан

создайте каталог, назовите его как cmdline_tools

$mkdir cmdline_tools

скопируйте ls.exe в каталог

установить путь к каталогу в среде PATH [скопировать местоположение каталога и вставить его в PATH]

C:/cmdline_tools

Откройте ваш cmd.exe и введите

$ Ls

Это работает как команда dir. Вы можете сделать то же самое для других команд. Если нет, дайте нам знать.

0

В этом случае можно использовать cygwin, хотя это не совсем ответ по теме.

http://www.cygwin.com/ CygWin
Загрузить: http://cygwin.com/setup.exe

Чтобы легко получить к нему доступ в Windows, вы можете указать путь c:\cygwin\bin.

обратите внимание, что есть несколько команд, которые конфликтуют с программным обеспечением Windows, которое не эквивалентно, например, find(1) vs find.exe - find(1) перечисляет все файлы и подкаталоги, тогда как find.exe работает как grep.

Другой вариант заключается в доступе

HKEY_LOCAL_MACHINE\Software\Microsoft\ Командный процессор \ AutoRun или HKEY_CURRENT_USER \Software\Microsoft\ Командный процессор \ AutoRun

проверять, выписываться

 cmd.exe /? 
Больше подробностей
0

Поместите ваши псевдонимы в файл, который называется, возможно, alias.cmd и добавьте /K \path\to\alias.cmd в ярлык, который вы используете для запуска cmd.exe .

Ссылка

0

Я на мгновение стану некромантом и воскрешу эту нить из мертвых. Это ответ не был удовлетворительным для меня. Я знал, что есть лучший способ. Я баловался созданием и включением файлов летучих мышей и пытался выяснить, как заставить шарик спагетти работать хорошо, но это не очень хорошо. Во всяком случае обратно в Google я пошел ..

Я тоже нашел это. Как добавить новые псевдонимы / команды DOS и создать сочетание клавиш для администратора DOS. Это прекрасно работает, оно должно работать на 98-7 (довольно забавная система нумерации, но эй, это windows). Я надеюсь, что это поможет тем, кто в этой теме, и тем, что Google отправляет таким образом.

Этот способ не так прост, как Alias, и Doskey тоже. После настройки это примерно такое же усилие.

Я также добавлю, что части этого слияния с ответом Денниса Уильямсона намного лучше. У вас может быть оболочка для нескольких версий одного и того же приложения, например, php 4 для ваших старых скриптов и php 5 для вашего тестового сервера.

Во всяком случае, у меня получилось намного лучше.

0

Попробуйте поместить их в autoexec.bat. Я не уверен, вам придется попробовать это. Поместите autoexec.bat в C:\

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .