Compartilhar via


doskey

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

Syntax

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

Parameters

Parameter Description
/reinstall 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 Displays a list of all doskey macros. You can use the redirection symbol (>) with /macros to redirect the list to a file. You can abbreviate /macros to /m.
/macros:all Displays doskey macros for all executables.
/macros:<exename> Displays doskey macros for the executable specified by exename.
/history Exibe todos os comandos armazenados na memória. You can use the redirection symbol (>) with /history to redirect the list to a file. You can abbreviate /history as /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> Specifies the program (that is, executable) in which the doskey macro runs.
/macrofile=<filename> Especifica um arquivo que contém as macros que você deseja instalar.
<macroname>=[<text>] Creates a macro that carries out the commands specified by Text. MacroName specifies the name you want to assign to the macro. Text specifies the commands you want to record. If Text is left blank, MacroName is cleared of any assigned commands.
/? Exibe a ajuda no prompt de comando.

Remarks

  • 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. Program key assignments override doskey key assignments. For example, if the program uses the F7 key for a function, you cannot get a doskey command history in a pop-up window.

  • 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. You must run doskey command-line options before you start a program. Se você usar Doskey.exe dentro de um programa, as principais atribuições desse programa têm precedência e algumas chaves de edição Doskey.exe podem não funcionar.

  • Com Doskey.exe, você pode manter um histórico de comandos para cada programa que iniciar ou repetir. You can edit previous commands at the program's prompt, and start doskey macros created for the program. Se você sair e reiniciar um programa na mesma janela do Prompt de Comando, o histórico de comandos da sessão do programa anterior estará disponível.

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

    Key Description
    UP ARROW Lembra o comando que você usou antes do que é exibido.
    DOWN ARROW Lembra o comando que você usou após o que é exibido.
    PAGE UP Lembra o primeiro comando que você usou na sessão atual.
    PAGE DOWN Lembra o comando mais recente que você usou na sessão atual.
  • The following table lists doskey editing keys and their functions:

    Tecla ou combinação de teclas Description
    LEFT ARROW Move o ponto de inserção para trás um caractere.
    RIGHT ARROW Move o ponto de inserção para frente um caractere.
    CTRL+LEFT ARROW Move o ponto de inserção para trás uma palavra.
    CTRL+RIGHT ARROW Move o ponto de inserção para frente uma 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. 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 observar o número sequencial na frente do comando e usar esse número em conjunto com a chave 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 Exclui todas as definições de macro.
  • If you press the INSERT key, you can type text on the doskey command line in the midst of existing text without replacing the text. However, after you press ENTER, Doskey.exe returns your keyboard to Replace mode. You must press INSERT again to return to Insert mode.

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

  • If you want to customize how Doskey.exe works with a program and create doskey macros for that program, you can create a batch program that modifies Doskey.exe and starts the program.

  • 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.

    Character Description
    $G ou $g Redirects output. 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 Redirects input. 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 ao uso do pipe ( e *.
    $T ou $t Separates commands. Use either of these special characters to separate commands when you create macros or type commands on the doskey command line. Esses caracteres especiais são equivalentes a usar o e comercial (&) em uma linha de comando.
    $$ Especifica o caractere de sinal de dólar ($).
    $1 a $9 Represente as informações de linha de comando que você deseja especificar ao executar a macro. Os caracteres $1$9 especiais são parâmetros de lote que permitem que você use dados diferentes na linha de comando sempre que executar a macro. The $1 character in a doskey command is similar to the %1 character in a batch program.
    $* 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 que é semelhante aos parâmetros $1 do lote por meio $9, com uma diferença importante: tudo o que você digita na linha de comando depois que o nome da macro é substituído pela $* 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 com qualquer um dos parâmetros $1 do lote, $9use um espaço para separar os parâmetros. You cannot run a doskey macro from a batch program.

  • 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.

Examples

The /macros and /history command-line options are useful for creating batch programs to save macros and commands. For example, to store all current doskey macros, type:

doskey /macros > macinit

Para usar as macros armazenadas no Macinit, digite:

doskey /macrofile=macinit

Para criar um programa em lote 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. You can use $* at the end of the macro to append other command-line options to dir when you run the tx option.

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.

To use the preceding macro to create and change to a directory named Books, type:

mc books

To create a doskey macro for a program called Ftp.exe, include /exename as follows:

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 ftp, digite:

go

FTP runs the open, mget, and bye commands.

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

doskey qf=format $1 /q /u

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

qf a:

To delete a macro called vlist, type:

doskey vlist =