Я використовую консоль 2 і хотів би створити кілька псевдонімів для команд, якими я часто користуюся. Можливо, мій google-fu сьогодні просто смокче, але я не можу зрозуміти, як це зробити. Будь-яка допомога буде вдячна завдяки.
Я використовую консоль 2 і хотів би створити кілька псевдонімів для команд, якими я часто користуюся. Можливо, мій google-fu сьогодні просто смокче, але я не можу зрозуміти, як це зробити. Будь-яка допомога буде вдячна завдяки.
Відповіді:
Console2 - це лише обгортка навколо прихованих вікон консолі Win32 і не забезпечує розширену функцію редагування ліній.
Ви можете створити псевдоніми в консолях Win32:
doskey d=dir $*
На відміну від Unix sh
, вам потрібно чітко вказати, $*
щоб додати задані аргументи (наприклад d C:\
). Ви також можете використовувати $T
для розділення команд.
Також на відміну від Unix, псевдоніми реалізуються на рівні консолі Win32 , а не в Console2 або оболонці cmd.exe. Це також означає, що ви можете використовувати їх у будь-якій програмі, яка читає інтерактивне введення. (Наприклад, doskey /exename=python.exe h=help($*)
перекладається h sys
на help(sys)
.)
Щоб автоматично завантажити псевдоніми для cmd.exe (командний рядок):
створити пакетний сценарій (наприклад, %APPDATA%\autorun.cmd
) з doskey
командами. Приклад:
@doskey d=dir $*
Приклад для читання декількох псевдонімів з файлу:
@doskey /macrofile=%APPDATA%\cmd.aliases
встановіть HKCU\SOFTWARE\Microsoft\Command Processor
значення AutoRun
шляху вашого сценарію "автозапуск":
C:\> reg add "HKCU\SOFTWARE\Microsoft\Command Processor" /v AutoRun /t REG_SZ /d "%APPDATA%\autorun.cmd"
Хоча це питання вже понад рік і вже відповів, наступне рішення є більш простим і дозволяє уникнути редагування реєстру:
У Console2 перейдіть до меню Правка> Налаштування. Змініть поле "Shell:" на таке:
C:\Windows\system32\cmd.exe /K "C:\Path\to\aliases.cmd"
Тепер перезапустіть Console2 і все закінчиться.
Щоб, можливо, заощадити якийсь час, ось простий приклад файлу aliases.cmd:
@echo off
DOSKEY clear=cls
DOSKEY ls=dir
DOSKEY ex=explorer .
DOSKEY ll=dir /A
DOSKEY rm=del $*