То, что вы ищете, называется DOSKEY
Вы можете использовать команду doskey для создания макросов в интерпретаторе команд. Например:
doskey mcd=mkdir "$*"$Tpushd "$*"
создает новую команду «mcd», которая создает новый каталог, а затем переходит в этот каталог (в этом случае я предпочитаю «pushd», а не «cd», потому что позже я могу использовать «popd», чтобы вернуться туда, где я был) раньше)
$ * будет заменен на остаток от командной строки после макроса, а $ T используется для разделения двух разных команд, которые я хочу оценить. Если бы я напечатал:
mcd foo/bar
в командной строке будет эквивалентно:
mkdir "foo/bar"&pushd "foo/bar"
Следующим шагом является создание файла, содержащего набор макросов, которые затем можно импортировать с помощью параметра / macrofile. У меня есть файл (c: \ tools \ doskey.macros), который определяет команды, которые я регулярно использую. Каждый макрос должен быть указан в строке с тем же синтаксисом, что и выше.
Но вам не нужно вручную импортировать ваши макросы каждый раз, когда вы запускаете новый интерпретатор команд, чтобы это происходило автоматически, просто откройте раздел реестра
HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Command Processor \ AutoRun и установите значение doskey / macrofile "c: \ tools \ doskey.macro". Это обеспечит автоматическую предопределенность ваших макросов при каждом запуске нового интерпретатора.
Дополнительные мысли:
- Если вы хотите сделать другие вещи в автозапуске (например, установить параметры среды), вы можете разделить команды с амперсандом. Мой выглядит так: set root = c: \ SomeDir & doskey / macrofile "c: \ tools \ doskey.macros"
- Если вы предпочитаете, чтобы настройки автозапуска были установлены для каждого пользователя, вы можете использовать узел HKCU вместо HKLM.
- Вы также можете использовать doskey для управления такими вещами, как размер истории команд.
- Мне нравится заканчивать все мои навигационные макросы с помощью \ $ *, чтобы я мог связать все вместе
- Будьте внимательны при добавлении кавычек в макросы, если вы хотите иметь возможность обрабатывать пути с пробелами в них.