Alias de comando no Prompt de Comando?

18

Como posso criar aliases de comando no prompt de comando do Windows como eu faria com bash ?

Descobri o doskey em um tópico do fórum , para que eu possa fazer algo como:

doskey ls=dir /b

... e agora o comando ls age um pouco mais como ls no Unix. (Eu digito ls tantas vezes em cmd , não é nem engraçado.)

Mas como faço para que isso fique entre as sessões? Ele desaparece na próxima vez que eu abrir cmd.exe . (Existe algo como .bash_profile ?)

    
por Benjamin Oakes 08.06.2010 / 19:55

9 respostas

0

O cygwin pode ser usado neste caso, embora isso não seja exatamente uma resposta no tópico.

link CygWin
Download: link

Para acessá-lo facilmente no Windows, você pode colocar c: \ cygwin \ bin em seu caminho.

observe que há alguns comandos que entram em conflito com o software do Windows, o que não é equivalente, por exemplo, find (1) vs find.exe - find (1) lista todos os arquivos e subdiretórios enquanto o find.exe funciona como o grep.

outra opção é acessar

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun or HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

confira

 cmd.exe /? 
para mais detalhes     
por 08.06.2010 / 20:54
33

É bastante fácil configurar aliases permanentes no prompt de comando do Windows usando as opções @DOSKEY e HKCU\Software\Microsoft\Command Processor Autorun.

Guia passo a passo rápido:

  1. Crie um novo arquivo de lote, chame-o de Alias.bat . Copie / cole o texto abaixo. DICA: eu recomendo criar uma pasta C:\Bin para todas as suas ferramentas de linha de comando.
  2. Abra o registro HKEY_CURRENT_USER\Software\Microsoft\Command Processor .
  3. Adicione um Valor da string com o nome Autorun e defina o valor para o caminho absoluto do arquivo Alias.bat .
  4. Feito.

Esse arquivo em lote será executado toda vez que você abrir um prompt de comando.

Conteúdo do Alias.bat

DOSKEY ls=DIR $* 
DOSKEY cp=COPY $* 
DOSKEY xcp=XCOPY $*
DOSKEY mv=MOVE $* 
DOSKEY clear=CLS
DOSKEY h=DOSKEY /HISTORY
DOSKEY alias=if ".$*." == ".." ( DOSKEY /MACROS ) else ( DOSKEY $* )

Agora você pode digitar alias (ou seja,DOSKEY /MACROS) para visualizar a lista atual de aliases / macros.

Para adicionar novos aliases apenas à sessão atual , você pode usar alias name=command .

    
por 28.01.2011 / 12:10
7

Também é meio fora do assunto -

Use o PowerShell em vez da linha de comando cmd.exe . A boa notícia é que o PowerShell tem o equivalente a .bash_profile e é executado exatamente como a linha de comando cmd.exe . Ele vem com um recurso de geração de alias embutido. A má notícia é que há uma curva de aprendizado se você quiser fazer algo mais complicado que os comandos cmd.exe simples.

A propósito, ls é definido como um alias de dir , diretamente da caixa.

    
por 08.06.2010 / 22:50
3

Há uma entrada de registro em HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun que permite executar um comando quando você inicia um prompt cmd. Isso inclui um arquivo em lotes.

    
por 08.06.2010 / 21:11
1

Eu sugiro instalar as versões desses comandos diretamente de este link .

Simples, leve, eficiente, etc. Estive usando por um tempo agora, Me faz feliz! O Cygwin é um pouco grande para o essencial que preciso.

    
por 27.08.2013 / 17:00
0

Tente colocá-los em autoexec.bat. Não tenho certeza, você terá que tentar. Coloque autoexec.bat em si em C: \

    
por 08.06.2010 / 20:00
0

Coloque seus alias em um arquivo chamado alias.cmd e adicione /K \path\to\alias.cmd ao atalho que você usa para iniciar cmd.exe .

Referência

    
por 08.06.2010 / 21:11
0

Eu serei um necromante por um momento e ressuscitarei este fio da morte. A resposta não foi satisfatória para mim. Eu sabia que havia um jeito melhor. Eu me interessei em fazer e incluir arquivos de morcegos e tentar descobrir como fazer com que a bola de espaguete funcionasse bem, mas não deu certo. De qualquer forma de volta ao Google eu fui ..

Eu também achei isso Como adicionar novos alias / comandos do DOS e criar um atalho de teclado para um admin DOS Ele funciona muito bem, deve funcionar em 98-7 (sistema de numeração meio engraçado, mas hey são janelas). Espero que ajude os que estão nessa discussão e os que o Google envia dessa maneira.

Desta forma, não é tão simples como o Alias, e também não é doskey. Uma vez configurado, esse é o mesmo esforço.

Também vou acrescentar que partes desta fusão com a resposta de Dennis Williamson são muito melhores. Você pode ter ambientes de shell para várias versões do mesmo aplicativo, digamos php 4 para seus scripts antigos e php 5 para o seu servidor de teste.

De qualquer forma, isso funcionou muito melhor para mim.

    
por 06.12.2012 / 00:15
0

Resolvendo isso definindo um ambiente PATH

crie o arquivo ls.c

digite o seguinte código

int main()
{
system("dir /b");
return 0;
}

em ls.c e compile o arquivo:

$gcc ls.c -o ls

um arquivo executável ls.exe é criado

crie um diretório, nomeie-o como cmdline_tools

$mkdir cmdline_tools

copie ls.exe para o diretório

define o caminho do diretório no ambiente PATH    [copie o local do diretório e cole-o no PATH]

C:/cmdline_tools

Abra o seu cmd.exe e digite

$ls

Funciona como um comando dir. Você pode fazer por outros comandos também da mesma maneira. Se não nos deixar saber.

    
por 25.02.2014 / 14:47