Aliases de comando do console 2

8

Eu uso o Console 2 e gostaria de criar alguns aliases para comandos que uso com frequência. Talvez meu google-fu seja péssimo hoje, mas não consigo descobrir como fazer isso. Qualquer ajuda seria apreciada obrigado.

StevenMcD
fonte
altere o shell no console2 para powershell. É muito mais poderoso que o cmd shell.
Dzung Nguyen

Respostas:

7

O Console2 é apenas um invólucro das janelas ocultas do console Win32 e não fornece funcionalidade de edição de linha estendida.

Você pode criar aliases nos consoles Win32:

doskey d=dir $*

Ao contrário do Unix sh, você precisa especificar explicitamente $*para acrescentar argumentos fornecidos (ex. d C:\). Você também pode usar $Tpara separar comandos.

Também, diferentemente do Unix, os aliases são implementados no nível do console do Win32 , não no Console2 ou no shell cmd.exe. Isso também significa que você pode usá-los em qualquer programa que leia entrada interativa. (Por exemplo, doskey /exename=python.exe h=help($*)seria traduzido h syspara help(sys).)


Para carregar os aliases automaticamente para o cmd.exe (prompt de comando):

  1. crie um script em lote (por exemplo %APPDATA%\autorun.cmd) com os doskeycomandos Exemplo:

    @doskey d=dir $*
    

    Exemplo para ler vários aliases de um arquivo:

    @doskey /macrofile=%APPDATA%\cmd.aliases
    
  2. defina o HKCU\SOFTWARE\Microsoft\Command Processorvalor AutoRunpara o caminho do seu script "autorun":

    C:\> reg add "HKCU\SOFTWARE\Microsoft\Command Processor" /v AutoRun /t REG_SZ /d "%APPDATA%\autorun.cmd"
    
user1686
fonte
12

Embora essa pergunta tenha mais de um ano e já tenha respondido, a solução a seguir é mais simples e evita a edição do registro:

No Console2, vá para Editar> Configurações. Altere o campo "Shell:" para o seguinte:

C:\Windows\system32\cmd.exe /K "C:\Path\to\aliases.cmd"

Agora reinicie o Console2 e pronto.

Para poupar algum tempo, aqui está um exemplo simples de um arquivo aliases.cmd:

@echo off

DOSKEY clear=cls
DOSKEY ls=dir
DOSKEY ex=explorer .
DOSKEY ll=dir /A
DOSKEY rm=del $*
Alex Krycek
fonte