Criar DOSKEY permanente no Windows cmd

2

Eu acho que o título é bastante auto-explicativo.

A pergunta é como criar um alias em um cmd do Windows que também funcione depois que eu fechar e reabri-lo. Por exemplo, eu gostaria que um alias chamado ip chamasse o comando ipconfig ou um alias ls -l para chamar Dir .

Meu sistema operacional é o Windows 10, caso isso faça diferença.

    
por nick zoum 13.10.2016 / 09:43

2 respostas

5

Crie um arquivo de definição de macro , por exemplo, em notepad ; nomeie-o à vontade e salve-o em qualquer lugar (por exemplo, no próximo exemplo, usei o nome do arquivo macros.doskey in d:\bat\ folder).
Como alternativa, o comando doskey /macros>d:\bat\macros.doskey listará todas as definições de macro atuais no arquivo d:\bat\macros.doskey .
Um exemplo de arquivo de definição de macro pode ser o seguinte (observe que ==> é o prompt de comando especificado por prompt $Q$Q$G$S command ):

==> type d:\bat\macros.doskey
ls=dir /B $1 
ip=ipconfig $*

Então, os próximos comandos devem fazer o trabalho:

==> reg add "HKCU\Software\Microsoft\Command Processor" /v Autorun /d "doskey /macrofile=\"d:\bat\macros.doskey\"" /f
The operation completed successfully.

==> reg query "HKCU\Software\Microsoft\Command Processor" /v Autorun

HKEY_CURRENT_USER\Software\Microsoft\Command Processor
    Autorun    REG_SZ    doskey /macrofile="d:\bat\macros.doskey"

Para explicação, leia cmd /? :

If /D was NOT specified on the command line, then when CMD.EXE starts, it looks for the following REG_SZ/REG_EXPAND_SZ registry variables, and if either or both are present, they are executed first.

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun

and/or

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

Aviso de isenção de responsabilidade : algumas configurações de AutoRun podem resultar em comportamento indesejado indesejado, por exemplo, como descrito em Pegada oculta: a configuração AutoRun do processador de comandos

Leia Salve e restaure as definições de macro ; você pode preparar um arquivo de script macros.cmd válido em uma etapa:

==> >macros.cmd (@for /F "delims=" %G in ('doskey /macros') do @echo DOSKEY %G)

==> type macros.cmd
DOSKEY ip=ipconfig $*
DOSKEY ls=dir /B $1

==>

Tenha em mente que você não pode executar uma macro do Doskey a partir de um arquivo de lote .

    
por 13.10.2016 / 14:39
1
  1. Crie um arquivo para armazenar suas macros (DOSKEYs).
    "C: \ bat \ macros.doskey"

    ls=dir $* $T
    up=cd.. $T
    ex=exit $T
    np=notepad
    
  2. Vá para o editor do registro.

    HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\
    
  3. Clique com o botão direito e adicione uma nova subchave "String Value". Nomeie-o Autorun.
    Clique com o botão direito - > Novo - > Valor da string

  4. Clique com o botão direito do mouse e modifique os dados do valor.
    Clique com o botão direito - > Modificar - > Dados do valor - > DOSKEY /MACROFILE="C:\bat\macros.doskey"
  5. É bom ir.

† Observe que o arquivo não precisa ser salvo como um arquivo .doskey.
† Observe também que o token $T é necessário se você estiver fazendo vários DOSKEYs.

    
por 12.02.2018 / 06:14