Создание alias команд под Windows

18 нояб. 2017 г.

В процессе работы web-программисту часто приходится пользоваться командной строкой. Это может быть работа с git, установка библиотек через npm или commposer. Создание шаблона приложения. Очистка кэша web-приложения. Управление миграциями базы данных и т.д.

В таком случае могут возникнуть 2 проблемы. Во-первых нужно постоянно печатать повторяющиеся команды. Либо копировать откуда-то. Во вторых нужно помнить эти самые команды. Что тоже бывает сложно. Например команда создания миграции в symfony 3 выглядит так.

php bin/console doctrine:migrations:generate

В какой-то момент это все надоедает и хочется создать сокращения для команд. Под Windows можно сделать с помощью doskey.

Alias можно создать такой командой. Однако это работает только для текущей сессии.

doskey gs=git status

Если хочется создать много алиасов, имеет смысл создать .bat файл и записать туда все алиасы. Сохранить файл в удобном месте, например так:

C:\doskey\doskey.bat

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

regedit

Далее найти ключ HKEY_CURRENT_USER\Software\Microsoft\Command Processor\Autorun и установить путь к .bat файлу.

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\Autorun
C:\doskey\doskey.bat

Все, можно пользоваться алиасами. Мой список alias выглядит так:

@echo off

DOSKEY ls=dir

doskey gs=git status
doskey gaa=git add -A
doskey gpl=git pull
doskey gps=git push
doskey gc=git commit $*
doskey gcm=git commit $*
doskey gck=git checkout $*
doskey gbr=git branch
doskey gmg=git merge $*

doskey ymg=php yii migrate $*
doskey ymgc=php yii migrate/create $*
doskey ymgd=php yii migrate/down $*

doskey yfxl=php yii fixture/load $*

doskey sfmgc=php bin/console doctrine:migrations:generate $*
doskey sfmg=php bin/console doctrine:migrations:migrate $*

doskey updb_cabinet = C:\doskey\scripts\updateCabinetDb.bat
doskey mysqldump = C:\xampp\mysql\bin\mysqldump.exe -uroot -p $*

Список включает в себя наиболее частоиспользуемые команды git, команды yii, symfony. Также некоторые команды для работы с mysql. Список обновляется по мере использования мною новых технологий, фреймворков и т.д.

Если нужно добавить сложную составную команду, рекомендую вынести ее в отдельный .bat файл и сделать алиас на него.

Список используемых источников:

Проверено на windows 10. Спасибо за внимание!