Alias в windows cmd

How to set an alias in Windows Command Line?

I used to work on bash and benefit a lot from alias. Is there any equivalent way in Windows Command Line?

8 Answers 8

As Christian.K said in his comment, the DOSKEY command can be used to define macros, which are analogous to aliases.

See the doskey technet documentation, or type doskey /? or help doskey from the command line for more information.

But there are serious limitations with DOSKEY macros:

The limitations are so severe that I rarely use DOSKEY macros.

Obviously you can create batch scripts instead of macros, and make sure the script locations are in your PATH. But then you must prefix each script with CALL if you want to use the script within another script.

You could create simple variable «macros» for long and oft used commands, but syntax is a bit awkward to type, since you need to expand the «macro» when you want to use it.

Usage (from command line or script)

You can make a batch script and save it into your path.

On Linux you would make a script and add it to the folder

/bin on windows you can do the same.

Add %USERPROFILE%\bin to your PATH environment variable. Then save your scripts in there.

Now you can type quickcd at the command line.

It can also be called inside a script using the call function

If you’re really trying to get around something like this:

You can use the subst command to map that long path to a separate drive letter

Then, when you want to jump into that folder, you can just type m: at the command line.

The advantage of this over doskey is that it works in all batch programs, and shows up in any file dialog box within Windows.

If you don’t want the mapping any more:

You could use the same trick, that windows uses: set an environment-variable (or just a variable in a batch-context) for example there is an environment-variable %windir% (and some others) So you can do an

which does the same. So all, you have to do is:

after that you can do (from whereever you are):

or whatever you want.

Unlike Linux, in Windows aliases can take arguments, and can be given parameters to assign those arguments into in their definition.

The internal built-in command is doskey, meaning it’s not an external executable file located in %SystemRoot%\System32 but is a feature of cmd.exe which itself is located in %SystemRoot% or %Windir% both pointing at C:\Windows folder by default.

Doskey defines aliases among many other things. In Windows terminology, aliases is called macros. To set an alias you use

Moreover, you can define your aliases macros in a separate file, say LinuxAliases.macro and then source it using

It will load all the aliases defined inside the file for the current session only, meaning when you exit out of cmd.exe process (also known as the shell and Command Prompt), they’re gone.

To have permanent aliases you can type the full command somewhere in a regedit key called either AutoRun or AutoCommand or something similar, what I cannot recall now alongside the macro file’s internal syntax 😛

Читайте также:  Kane lynch не запускается windows 10

Here are the official, and even better documentations for the command.


Command aliases in Command Prompt?

I found out about doskey in a forum thread, so I can do something like:

10 Answers 10

cygwin can be used in this case although this is not exactly an on-topic answer.

To access it easily in windows, you can put c:\cygwin\bin in your path.

another option is to access

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun or HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

check out for more details

It is rather easy to setup permanent aliases in the Windows command prompt using the @DOSKEY command and HKCU\Software\Microsoft\Command Processor Autorun option.

Quick step-by-step guide:

This batch file will execute every time you open a command prompt.

Contents of Alias.bat

Now you can type alias (i.e DOSKEY /MACROS ) to view the current list of aliases/macros.

There is a registry entry at HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun which allows you to run a command when you start a cmd prompt. This includes a batch file.

I suggest installing dos versions of these commands directly from this link.

Simple, light, efficient etc. Been using it for a while now, Makes me happy! Cygwin is a bit big for the essentials I need.

Try putting them in autoexec.bat. I’m not sure, you’ll have to try it. Put autoexec.bat itself in C:\

I’ll be a necromancer for a moment and raise this thread from the dead. It’s answer was not satisfactory for me. I knew there was a better way. I dabbled at making and including bat files and trying to figure out how to get the spaghetti ball working well it didn’t well. Anyway back to Google I went..

I did find this too How to add new DOS alias/commands and create a keyboard shortcut for an admin DOS It works great, it should work on 98-7 (kinda funny numbering system but hey it’s windows). I hope it helps those on this thread and those Google sends this way.

This way is not as simple as Alias, and neither is doskey. Once setup this is about the same effort.

I’ll also add that parts of this merged with Dennis Williamson’s answer are much better. You can have shell environments for multiple versions of the same application, say php 4 for your old scripts and php 5 for your test server.


Избавляемся от «исторических причин» в cmd.exe более лёгким и стандартным способом

Всем привет! Сегодня я хочу поделится с вами более лёгким и правильным, с моей точки зрения, способом достижения аналогичного описанному в статье пользователя NikitaTrophimov результата.
Думаю, нет смысла повторно писать вводную часть — автор оригинальной статьи это сделал до меня — и, так как моя статья вряд ли увидела бы свет, не напиши он свою, и является всего лишь альтернативным видением способа решения задачи, то я сосредоточусь на главном.

Как и автору оригинальной статьи, мне представлялось весьма странным поведение команды «cd» (или «chdir») в cmd.exe. Казалось нелогичным, что для смены активного диска необходимо каждый раз выполнять дополнительные действия. Являясь поклонником интерфейса командной строки, я не раз пробовал улучшать внешний вид и возможности стандартного командного интерпретатора Microsoft Windows, но о возможности изменить стандартное поведение команды «cd» раньше даже не задумывался. После прочтения вышеупомянутой статьи на Хабре мне не давало покоя ощущение чрезмерной нестандартности и сложности описанного способа… а желание создать свой собственный велосипед и поскорее уже начать им пользоваться привело к кучке паре-тройке часов потраченного в ближайший выходной времени на разбор полётов. Итак, кому интересны мои изыскания — добро пожаловать под кат!

Стандартным механизмом для изменения поведения команд/программ «по умолчанию» (что справедливо для всех известных мне операционных систем) являются аргументы запуска, параметры, указываемые через пробел после имени команды или исполняемого файла. Именно этот механизм позволяет изменить поведение команды для смены текущей директории в cmd.exe на нужное нам. Указанный при вызове команды «cd» (или «chdir») параметр «/d» позволяет одновременно со сменой текущего каталога изменять и активный диск.

Читайте также:  Windows show current user

Именно этим мы и воспользуемся. Приступим!

Постановка задачи: Команда «cd» должна автоматически изменять активный диск, если в качестве аргумента передан путь к данным на отличном от текущего диске.

Также необходимо создать простой текстовый файл «aliases» и разместить его в %USERPROFILE%

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]

Сохраняем его, к примеру, с именем cmd_env_reg.reg

Импортируем параметры из файла cmd_env_reg.reg в реестр и запускаем cmd.exe любым доступным способом. Готово! Проверяем результат!

Данное решение было успешно протестировано на работоспособность в среде Windows 2008 R2, 7, 2003 R2, XP.

PS: Большое спасибо автору оригинальной статьи за то, что подтолкнул меня к действию. Без его статьи я ещё долго терпел бы неудобства и мечтал о том, что «будет время — займусь».

PPS: Файл cmd_env.bat можно и нужно использовать для настройки cmd.exe — к примеру, для задания стандартных цветов в консоли командой «color 02» или для установки переменных окружения.

PPPS: Ссылки для интересующихся темой — ConEmu, Clink, cmder и прочие — Console2 и её форк ConsoleZ, rCons, WinQConsole


How to set aliases for the command prompt in Windows

In this article, I would like to share with you a useful way to define aliases for the command prompt. The method described in this article works in all modern Windows versions including Windows 10, Windows 8.1, Windows 8 and Windows 7. By following the steps below, you will be able to define any desired alias to extend the functionality of the default command processor (cmd.exe) and save your time.

Using DOSKEY, it is possible to save your time and define an alias which will allow you to omit the requirement to enter the drive letter and the /D switch. For example:

The following are some special codes in Doskey macro definitions:
$T Command separator. Allows multiple commands in a macro.
$1-$9 Batch parameters. Equivalent to %1-%9 in batch programs.
$* Symbol replaced by everything following the macro name on the command line. We used it in our alias.
Now, we can compare the results without the alias and with the alias.
Without the alias, the cd command will not change the active drive:

With the alias created with DOSKEY, the command prompt will change the active drive and the current folder automatically:

This is very useful.

Using DOSKEY, it is possible to define your own aliases. For example, you can create the LS alias for the DIR command to use a common command for directory listing in Windows and Linux. As you may or may not be knowing, LS is a default file listing command in the Linux operating system.

Or something like this:

Define global aliases in the Windows command prompt

The problem with aliases is that they work only for the command prompt instance where you have defined them. To avoid this issue, you can create a new shortcut to cmd.exe or even modify the default one. You need to add the following parameters after the cmd.exe part:

Here the file c:\apps\cmd\aliases.cmd is a regular batch file which contains the appropriate DOSKEY calls.

Besides the command prompt, Windows allows defining your own aliases for the Run dialog as well. Refer to the following article: Launch your favorite apps with useful aliases from the Run dialog

That’s it. This is a very useful way to define your own command or change the behavior of default commands. I am using these aliases since a very long time. What about you? Are you using aliases in the command prompt or were you not aware of this feature?

Читайте также:  Far для windows 10 официальный сайт

Winaero greatly relies on your support. You can help the site keep bringing you interesting and useful content and software by using these options:

About Sergey Tkachenko

Sergey Tkachenko is a software developer from Russia who started Winaero back in 2011. On this blog, Sergey is writing about everything connected to Microsoft, Windows and popular software. Follow him on Telegram, Twitter, and YouTube.

6 thoughts on “ How to set aliases for the command prompt in Windows ”

A very nice effort on your part. This is really excellent documentation. I recommend it for those who tend to keep their fingers on the keyboard.

you can change the register instead of the parm in shotcut like this:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor]

You can even store macro in specific file to load them with doskey:


Псевдонимов в командной строке Windows

Чтобы добавить к Джош’ы ответьте,

вы можете сделать псевдоним(ы) настойчивый с следующих шагов

Таким образом, каждый раз, когда УМК запуска, псевдонимы загружаются.

Для Windows 10 Добавить запись `раздел HKEY_LOCAL_MACHINE\программное обеспечение\Майкрософт\командный процессор вместо.

Для полноты, вот шаблон, чтобы проиллюстрировать какие псевдонимы можно найти полезную.

Когда я искал в интернете ответ на вопрос, почему-то обсуждения были направлены на сохранение всего или только некоторых использование DOSKEY. Я надеюсь, что кто-то выиграет из этих двух аспектов быть вместе здесь!

Вам нужно передать параметры, попробуйте это:

редактирование (отвечая на Romonov’ы комментарий) вопрос: есть ли способ я могу сделать командную строку помните, так что я не’т иметь, чтобы запустить это каждый раз, когда я открываю новое окно командной строки?

`doskey-это текстовые команды, который интерпретируется командным процессором (например, cmd.exe), он может’т знать, чтобы изменить состояние в какой-то другой процесс (особенно один, который еще’т не запущен).

Если вы’вэ просто для некоторых простых команд, вы можете выполнить следующие действия:

Может и перебор, но в отличие от (в остальном отлично) ответ от @Аргайл, это решает проблему этой загрузки каждый раз.

Например, у меня есть файл с названием dig2.летучая мышь следующим в его:

Ваш НП файл будет только следующее:

Обновление: за отличное предложение от пользователя @мав, это’s даже лучше использовать **%*, а не %1**, так что вы можете передать несколько файлов в команду, например:

Таким образом, вы могли бы сделать это:

и он откроет все 3 файла.

Учитывая, что вы добавили в Notepad++.exe в переменной PATH, это’с очень простой. Создайте файл в вашей папке System32 под названием НП.летучая мышь с помощью следующего кода:

Редактировать: Вам понадобится доступ с правами администратора для сохранения файлов в папке System32, которая была для меня немного сбился. Я просто создал файл где-то еще и перенес его в System32 вручную.

Кроме того, вы можете создать псевдоним.УМК на вашем пути (к примеру C:\Windows) с помощью команды

Как только вы сделаете это, вы можете сделать что-то вроде этого:

И после этого вы можете ввести в командно строке

это будет выполняться

Но для меня лучший способ-это просто добавить путь к программе.

И теперь я бегу возвышенное как

Консоли псевдонимы в Windows 10

Для определения консоли псевдоним, использовать Doskey.exe для создания макроса, или использовать AddConsoleAlias функции.



Более подробная информация здесь [консольные алиасы][1], Doskey, Параметры

Сделав это, если у вас мало в сторону утилиты, которые вы должны иметь доступ к Просто скопируйте их в `C:\BIN папку и они’вновь на вашем пути. Чтобы временно переопределить эти задания, вы можете добавить пакетный файл, имя которого совпадает с именем исполняемого файла в папку c:\batch и путь найти его, прежде чем файл в C:\BIN. Он должен охватывать все, что вы могли когда-либо нужно сделать.


Поделиться с друзьями
Советы экспертов и специалистов