Estou procurando uma maneira de executar alguns comandos do console automaticamente quando um prompt de comando é aberto no Windows, especificamente para definir alguns aliases de comando.
Por exemplo, quando um prompt de comando é aberto, desejo que um comando como o seguinte seja executado automaticamente para que eu possa usar em ls
vez de dir
.
doskey ls=dir
Como isso pode ser feito?
windows
command-line
console
autorun
Daniel Williams
fonte
fonte
cmd.exe
.Respostas:
Se você deseja que ele seja carregado na inicialização, e não ao fazer login, se você possui o XP Pro (o XP home não inclui gpedit.msc), faça o seguinte:
e aperte enter. Em seguida, execute gpupdate / force a partir de uma linha de comando.
Vamos para
e adicione o local ao script.
Você também pode fazer isso para um logon de usuário em
Se você possui o XP Home, pode copiar os scripts para:
para carregá-los na inicialização ou:
para carregá-los para um usuário no logon. A pasta GroupPolicy está oculta.
fonte
Os aliases de comando são específicos para a janela do console em que você os configura, portanto, um script de inicialização não funcionará. Você pode fazer assim:
Crie um arquivo em lotes (
.cmd
) com seus comandos doskey , coloque-o em algum lugar nos Dados do Aplicativo.Configure-o para ser iniciado automaticamente sempre que você abrir o cmd . A configuração está no Registro:
HKCU\SOFTWARE\Microsoft\Command Processor
AutoRun
"%AppData%\aliases.cmd"
fonte
if exist "%AppData%\aliases.cmd" "%AppData%\aliases.cmd"
Diferentes intérpretes de comando lidam com aliases de comando de maneiras diferentes.
O CMD da Microsoft conta com o subsistema de console do Win32 para fornecer seu mecanismo de alias de comando. O
doskey
comando realmente interage com o console do processo e é o próprio console que mantém os aliases. Assim, os aliases são por console e transitórios.O TCC / LE da JP Software lida com apelidos. O
alias
comando permite visualizar e manipular aliases, que são "locais" ou "globais". Os aliases ainda são transitórios, mas são privados para um processo de intérprete de comando ou compartilhados entre todos os processos de intérprete de comando (em todos os consoles).Blocos como o shell Korn no kit de ferramentas do utilitário SFUA - cujas ferramentas são executadas no Subsistema para aplicativos baseados em UNIX, que vem junto com o Windows 7 Ultimate edition e o Windows Server 2008 R2 (no Windows XP, é possível baixar e instalar Services for UNIX versão 3.5 .) - e o shell Bourne Again do cygwin também lida com apelidos. Os aliases são transitórios e por processo do interpretador de comandos.
O carregamento automático de um conjunto inicial de aliases padrão varia também por interpretador de comandos.
Em todos os casos, coloca-se comandos para definir os aliases em um script de algum tipo.
grawity
já forneceu uma das duas chaves do registro que fazem com que o CMD da Microsoft execute um comando ao iniciar . Infelizmente, isso é por processo de intérprete de comando, mesmo que os aliases sejam armazenados por console . Inicie um intérprete de comando secundário a partir do inicial e quaisquer alterações manuais nos aliases padrão serão redefinidas. Uma alternativa, que pelo menos executa a inicialização apenas uma vez por console, é adicionar a/K
opção e o nome de um script de comando que chamadoskey
a cauda do comando no atalho que inicia o interpretador de comandos.O TCC / LE da JP Software executa automaticamente o
TCSTART
script na inicialização. Novamente, isso é por processo de intérprete de comando. No entanto, os aliases "locais" do TCC também são por processo de intérprete de comando, portanto, este é o lugar certo para inicializar aliases se alguém estiver usando aliases locais. Para aliases globais, basta criar um atalho naStartup
pasta que carrega aliases de um arquivo (comalias /r
) e, em seguida, executa oshralias
comando para que eles persistam após a conclusão da execução do atalho.Para as conchas Bourne Again e Korn, basta fazer como faria com essas conchas em qualquer outra plataforma. Use o
alias
comando nos scripts$HOME/.profile
e$HOME/.bashrc
para o shell Bourne Again; e use oalias
comando$HOME/.profile
, ENV e$HOME/.kshrc
scripts para o shell Korn.fonte
A resposta da Gravity funcionou muito bem para mim.
Eu criei um script shell-aliases.cmd na minha pasta Documentos (em algum lugar posso encontrá-lo mais tarde).
Em seguida, criou o valor da cadeia de caracteres expansível 'AutoRun' na chave do Registro:
'HKEY_CURRENT_USER \ Software \ Microsoft \ Command Processor'
Defina o valor como o caminho completo para o arquivo de aliases (o meu estava em 'C: \ Users \ Lee \ Documents \ shell-aliases.cmd').
Depois que recarreguei o prompt de comando, meus apelidos doskey funcionaram. Além disso, meu arquivo de aliases é facilmente acessível e pronto para editar, pois penso em mais para adicionar.
fonte
Existem vários locais que farão isso, mas o menu Iniciar> pasta de inicialização provavelmente é o mais fácil.
Execute 'msconfig' e veja quais programas são iniciados e por quê. Você pode simplesmente adicionar seu programa a uma dessas listas (por exemplo, no registro).
fonte
O problema aqui é que, se você fizer isso na inicialização, essas substituições estarão disponíveis apenas no prompt do CMD aberto. Se fechar, todas essas substituições serão perdidas e deverão ser feitas novamente para cada prompt de comando aberto.
Portanto, algumas maneiras alternativas (você pode combiná-las):
I. Crie um lote e um atalho:
II Crie um lote e uma entrada na variável de ambiente PATH:
fonte