doskey

Chama o Doskey.exe, que lembra comandos de linha de comando inseridos anteriormente, edita linhas de comando e cria macros.

Sintaxe

doskey [/reinstall] [/listsize=<size>] [/macros:[all | <exename>] [/history] [/insert | /overstrike] [/exename=<exename>] [/macrofile=<filename>] [<macroname>=[<text>]]

Parâmetros

Parâmetro Descrição
Reinstalar Instala uma nova cópia do Doskey.exe e limpa o buffer de histórico de comandos.
/listsize=<size> Especifica o número máximo de comandos no buffer de histórico.
/macros Exibe uma lista de todas as macros de doskey . Você pode usar o símbolo de redirecionamento (>) com /macros para redirecionar a lista para um arquivo. Você pode abreviar /macros para /m.
/macros:all Exibe macros doskey para todos os executáveis.
/macros:<exename> Exibe macros doskey para o executável especificado por exename.
/history Exibe todos os comandos armazenados na memória. Você pode usar o símbolo de redirecionamento (>) com /history para redirecionar a lista para um arquivo. Você pode abreviar /history como /h.
/insert Especifica que o novo texto que você digita é inserido no texto antigo.
/overstrike Especifica que o novo texto substitui o texto antigo.
/exename=<exename> Especifica o programa (ou seja, executável) no qual a macro doskey é executada.
/macrofile=<filename> Especifica um arquivo que contém as macros que você deseja instalar.
<macroname>=[<text>] Cria uma macro que executa os comandos especificados por Text. MacroName especifica o nome que você deseja atribuir à macro. Text especifica os comandos que você deseja gravar. Se Text for deixado em branco, MacroName será desmarcado de todos os comandos atribuídos.
/? Exibe a ajuda no prompt de comando.

Comentários

  • Determinados programas interativos baseados em caracteres, como depuradores de programas ou FTP (programas de transferência de arquivos), usam automaticamente Doskey.exe. Para usar Doskey.exe, um programa deve ser um processo de console e usar entrada em buffer. As atribuições de chave do programa substituem as atribuições de chave doskey . Por exemplo, se o programa usar a tecla F7 para uma função, você não poderá obter um histórico de comandos de doskey em uma janela pop-up.

  • Você pode usar Doskey.exe para editar a linha de comando atual, mas não pode usar as opções de linha de comando no prompt de comando de um programa. Você deve executar opções de linha de comando doskey antes de iniciar um programa. Se você usar Doskey.exe dentro de um programa, as principais atribuições desse programa têm precedência e alguns Doskey.exe chaves de edição podem não funcionar.

  • Com Doskey.exe, você pode manter um histórico de comandos para cada programa iniciado ou repetido. Você pode editar comandos anteriores no prompt do programa e iniciar macros doskey criadas para o programa. Se você sair e reiniciar um programa na mesma janela do Prompt de Comando, o histórico de comandos da sessão anterior do programa estará disponível.

  • Para cancelar um comando, você pode usar qualquer uma das seguintes chaves depois de iniciar Doskey.exe:

    Chave Descrição
    SETA PARA CIMA Recall do comando que você usou antes do que é exibido.
    SETA PARA BAIXO Recall o comando que você usou antes do que é exibido.
    PAGE UP Recall o primeiro comando que você usou na sessão atual.
    PAGE DOWN Recalls o primeiro comando que você usou na sessão atual.
  • A tabela a seguir lista as chaves de edição de doskey e suas funções:

    Tecla ou combinação de teclas Descrição
    SETA PARA A ESQUERDA Move o ponto de inserção para trás por caractere.
    SETA PARA A DIREITA Move o ponto de inserção para frente por caractere.
    CTRL + SETA PARA A ESQUERDA Move o ponto de inserção para trás por palavra.
    CTRL + SETA PARA A DIREITA Move o ponto de inserção para frente por palavra.
    HOME Move o ponto de inserção para o início da linha.
    END Move o ponto de inserção para o final da linha.
    ESC Limpa o comando da exibição.
    F1 Copia um caractere de uma coluna no modelo para a mesma coluna na janela prompt de comando. (O modelo é um buffer de memória que contém o último comando digitado.)
    F2 Pesquisa no modelo a próxima tecla que você digita depois de pressionar F2. Doskey.exe insere o texto do modelo até, mas não incluindo, o caractere especificado.
    F3 Copia o restante do modelo para a linha de comando. O Doskey.exe começa a copiar caracteres da posição no modelo que corresponde à posição indicada pelo ponto de inserção na linha de comando.
    F4 Exclui todos os caracteres da posição atual do ponto de inserção até, mas não incluindo, a próxima ocorrência do caractere que você digita depois de pressionar F4.
    F5 Copia o modelo para a linha de comando atual.
    F6 Coloca um caractere de fim de arquivo (CTRL+Z) na posição atual do ponto de inserção.
    F7 Exibe (em uma caixa de diálogo) todos os comandos para este programa armazenados na memória. Use a tecla seta para cima e a tecla seta para baixo para selecionar o comando desejado e pressione ENTER para executar o comando. Você também pode anotar o número sequencial na frente do comando e usar esse número em conjunto com a tecla F9.
    ALT+F7 Exclui todos os comandos armazenados na memória para o buffer de histórico atual.
    F8 Exibe todos os comandos no buffer de histórico que começam com os caracteres no comando atual.
    F9 Solicita um número de comando do buffer de histórico e exibe o comando associado ao número especificado. Pressione Enter para executar o comando. Para exibir todos os números e seus comandos associados, pressione F7.
    Alt+F10 Imprime todas as definições de macro.
  • Se você pressionar a tecla INSERT, poderá digitar texto na linha de comando doskey no meio do texto existente sem substituir o texto. No entanto, depois de pressionar ENTER, Doskey.exe retorna o teclado para o modo Substituir. Você deve pressionar INSERT novamente para retornar ao modo Inserir.

  • O ponto de inserção altera a forma quando você usa a tecla INSERT para alterar de um modo para o outro.

  • Se você quiser personalizar como Doskey.exe funciona com um programa e criar macros doskey para esse programa, poderá criar um programa em lote que modifique Doskey.exe e inicie o programa.

  • Você pode usar Doskey.exe para criar macros que executam um ou mais comandos. A tabela a seguir lista caracteres especiais que você pode usar para controlar operações de comando ao definir uma macro.

    Caractere Descrição
    $G ou $g Redireciona a saída. Use um desses caracteres especiais para enviar a saída para um dispositivo ou um arquivo em vez de para a tela. Esse caractere é equivalente ao símbolo de redirecionamento para saída (>).
    $G$G ou $g$g Acrescenta a saída ao final de um arquivo. Use um desses caracteres duplos para acrescentar a saída a um arquivo existente em vez de substituir os dados no arquivo. Esses caracteres duplos são equivalentes ao símbolo de redirecionamento de acréscimo para saída (>>).
    $L ou $l Redireciona a entrada. Use um desses caracteres especiais para ler a entrada de um dispositivo ou um arquivo em vez de do teclado. Esse caractere é equivalente ao símbolo de redirecionamento para entrada (<).
    $B ou $b Envia a saída da macro para um comando. Esses caracteres especiais são equivalentes a usar o pipe ( e *.
    $T ou $t Separa comandos. Use um desses caracteres especiais para separar comandos ao criar macros ou digitar comandos na linha de comando doskey. Esses caracteres especiais são equivalentes a usar o e comercial (&) em uma linha de comando.
    $$ Especifica o caractere cifrão ($).
    $1 até $9 Represente as informações de linha de comando que você deseja especificar ao executar a macro. Os caracteres especiais $1 a $9 são parâmetros de lote que permitem que você use dados diferentes na linha de comando sempre que executar a macro. O caractere $1 em um comando doskey é semelhante ao caractere %1 em um programa em lote.
    $* Representa todas as informações de linha de comando que você deseja especificar ao digitar o nome da macro. O caractere $* especial é um parâmetro substituível semelhante aos parâmetros $1 de lote por meio de $9, com uma diferença importante: tudo o que você digita na linha de comando depois que o nome da macro é substituído pelo $* na macro.
  • Para executar uma macro, digite o nome da macro no prompt de comando, começando na primeira posição. Se a macro tiver sido definida com $* ou qualquer um dos parâmetros de lote $1 por meio de $9, use um espaço para separar os parâmetros. Não é possível executar uma macro doskey de um programa em lotes.

  • Se você sempre usar um comando específico com opções de linha de comando específicas, poderá criar uma macro que tenha o mesmo nome do comando. Para especificar se você deseja executar a macro ou o comando, siga estas diretrizes:

    • Para executar a macro, digite o nome da macro no prompt de comando. Não adicione um espaço antes do nome da macro.

    • Para executar o comando, insira um ou mais espaços no prompt de comando e digite o nome do comando.

Exemplos

As opções de linha de comando /macros e /history são úteis para criar programas em lote para salvar macros e comandos. Por exemplo, para armazenar todas as macros de doskey atuais, digite:

doskey /macros > macinit

Para usar as macros armazenadas no Macinit, digite:

doskey /macrofile=macinit

Para criar um programa em lotes chamado Tmp.bat que contém comandos usados recentemente, digite:

doskey /history> tmp.bat

Para definir uma macro com vários comandos, use $t para separar comandos, da seguinte maneira:

doskey tx=cd temp$tdir/w $*

No exemplo anterior, a macro TX altera o diretório atual para Temp e exibe uma listagem de diretórios em formato de exibição ampla. Você pode usar $* no final da macro para acrescentar outras opções de linha de comando a dir ao executar a opção tx.

A macro a seguir usa um parâmetro de lote para um novo nome de diretório:

doskey mc=md $1$tcd $1

A macro cria um novo diretório e, em seguida, muda para o novo diretório do diretório atual.

Para usar a macro anterior para criar e alterar para um diretório chamado Livros, digite:

mc books

Para criar uma macro doskey para um programa chamado Ftp.exe, inclua /exename da seguinte maneira:

doskey /exename=ftp.exe go=open 172.27.1.100$tmget *.TXT c:\reports$tbye

Para usar a macro anterior, inicie o FTP. No prompt do FTP, digite:

go

O FTP executa os comandos open, mget e bye.

Para criar uma macro que formata de forma rápida e incondicional um disco, digite:

doskey qf=format $1 /q /u

Para formatar de forma rápida e incondicional um disco na unidade A, digite:

qf a:

Para excluir uma macro chamada vlist, digite:

doskey vlist =