doskey

Llama a Doskey.exe, que recupera comandos de la línea de comandos que se escribieron anteriormente, edita líneas de comandos y crea macros.

Sintaxis

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

Parámetros

Parámetro Descripción
/reinstall Instala una copia nueva de Doskey.exe y borra el búfer del historial de comandos.
/listsize=<size> Especifica el número máximo de comandos en el búfer del historial.
/macros Muestra una lista de todas las macros doskey. Puede usar el símbolo de redireccionamiento (>) con /macros para redirigir la lista a un archivo. Puede abreviar /macros como /m.
/macros:all Muestra macros doskey para todos los ejecutables.
/macros:<exename> Muestra macros doskey para el ejecutable especificado por exename.
/history Muestra todos los comandos almacenados en memoria. Puede usar el símbolo de redireccionamiento (>) con /history para redirigir la lista a un archivo. Puede abreviar /history como /h.
/insert Especifica que el texto nuevo que escriba se inserta en texto antiguo.
/overstrike Especifica que el texto nuevo sobrescribe el texto antiguo.
/exename=<exename> Especifica el programa (es decir, el ejecutable) en el que se ejecuta la macro doskey.
/macrofile=<filename> Especifica un archivo que contiene las macros que desea instalar.
<macroname>=[<text>] Crea una macro que lleva a cabo los comandos que Text especifica. MacroName especifica el nombre que quiere asignar a la macro. Text especifica los comandos que desea registrar. Si Text se deja en blanco, se quitan de MacroName todos los comandos asignados.
/? Muestra la ayuda en el símbolo del sistema.

Comentarios

  • Ciertos programas interactivos basados en caracteres, como depuradores de programas o programas de transferencia de archivos (FTP), usan Doskey.exe de manera automática. Para usar Doskey.exe, un programa debe ser un proceso de consola y usar la entrada almacenada en búfer. Las asignaciones de claves de programa invalidan las asignaciones de claves doskey. Por ejemplo, si el programa usa la tecla F7 para una función, no se puede obtener un historial de comandos doskey en una ventana emergente.

  • Puede usar Doskey.exe para editar la línea de comandos actual, pero no puede usar las opciones de la línea de comandos desde el símbolo del sistema de un programa. Debe ejecutar opciones de la línea de comandos doskey antes de iniciar un programa. Si usa Doskey.exe dentro de un programa, es posible que las asignaciones de claves de ese programa tengan prioridad y algunas claves de edición de Doskey.exe no funcionen.

  • Con Doskey.exe, puede mantener un historial de comandos para cada programa que inicie o repita. Puede editar comandos anteriores en el símbolo del sistema del programa e iniciar macros doskey creadas para el programa. Si sale de un programa y luego lo reinicia desde la misma ventana del símbolo del sistema, el historial de comandos de la sesión de programa anterior está disponible.

  • Para recuperar un comando, puede usar cualquiera de las claves siguientes después de iniciar Doskey.exe:

    Clave Descripción
    FLECHA ARRIBA Recupera el comando que usó antes del comando que se muestra.
    FLECHA ABAJO Recupera el comando que usó después del comando que se muestra.
    RE PÁG Recupera el primer comando que usó en la sesión actual.
    AV PÁG Recupera el comando más reciente que usó en la sesión actual.
  • En la tabla siguiente, se enumeran las claves de edición doskey y sus funciones:

    Teclas o combinación de teclas Descripción
    FLECHA IZQUIERDA Mueve el punto de inserción un carácter hacia atrás.
    FLECHA DERECHA Mueve el punto de inserción un carácter hacia delante.
    CTRL+FLECHA IZQUIERDA Mueve el punto de inserción una palabra hacia atrás.
    CTRL+FLECHA DERECHA Mueve el punto de inserción una palabra hacia delante.
    INICIO Mueve el punto de inserción al comienzo de la línea.
    FIN Mueve el punto de inserción al final de la línea.
    ESC Borra el comando de la pantalla.
    F1 Copia un carácter de una columna de la plantilla en la misma columna de la ventana del símbolo del sistema. (La plantilla es un búfer de memoria que contiene el último comando que escribió).
    F2 Busca hacia delante en la plantilla la tecla siguiente que escribe después de presionar F2. Doskey.exe inserta el texto de la plantilla, hasta el carácter que especifique (sin incluirlo).
    F3 Copia el resto de la plantilla en la línea de comandos. Doskey.exe comienza a copiar caracteres desde la posición de la plantilla que corresponde a la posición indicada por el punto de inserción en la línea de comandos.
    F4 Elimina todos los caracteres de la posición del punto de inserción actual hasta la aparición siguiente del carácter que escriba después de presionar F4 (sin incluirlo).
    F5 Copia la plantilla en la línea de comandos actual.
    F6 Coloca un carácter de final de archivo (CTRL+Z) en la posición del punto de inserción actual.
    F7 Muestra (en un cuadro de diálogo) todos los comandos de este programa almacenados en memoria. Use las teclas FLECHA ARRIBA y FLECHA ABAJO para seleccionar el comando que desea y presione ENTRAR para ejecutar el comando. También puede anotar el número secuencial delante del comando y usar este número junto con la tecla F9.
    ALT+F7 Elimina todos los comandos almacenados en memoria para el búfer del historial actual.
    F8 Muestra todos los comandos del búfer del historial que comienzan con los caracteres del comando actual.
    F9 Le pide un número de comando del búfer del historial y, a continuación, muestra el comando asociado al número que se especifica. Presione ENTRAR para ejecutar el comando. Para mostrar todos los números y sus comandos asociados, presione F7.
    ALT+F10 Elimina todas las definiciones de macros.
  • Si presiona la tecla INSERT, puede escribir texto en la línea de comandos doskey en medio del texto existente sin reemplazar el texto. Sn embargo, después de presionar ENTRAR, Doskey.exe devuelve el teclado al modo Reemplazar. Debe volver a presionar INSERTAR para volver al modo Insertar.

  • El punto de inserción cambia de forma cuando se usa la tecla INSERTAR para cambiar de un modo a otro.

  • Si desea personalizar el funcionamiento de Doskey.exe con un programa y crear macros doskey para ese programa, puede crear un programa por lotes que modifique Doskey.exe e inicie el programa.

  • Puede usar Doskey.exe para crear macros que ejecute uno o varios comandos. En la tabla siguiente, se enumeran los caracteres especiales que puede usar para controlar las operaciones de comando al definir una macro.

    Carácter Descripción
    $G o $g Redirige la salida. Use cualquiera de estos caracteres especiales para enviar la salida a un dispositivo o a un archivo en lugar de a la pantalla. Este carácter es equivalente al símbolo de redireccionamiento para la salida (>).
    $G$G o $g$g Anexa la salida al final de un archivo. Use cualquiera de estos caracteres dobles para anexar la salida a un archivo existente en lugar de reemplazar los datos del archivo. Estos caracteres dobles son equivalentes al símbolo de redireccionamiento de anexión para la salida (>>).
    $L o $l Redirige la entrada. Use cualquiera de estos caracteres especiales para leer la entrada de un dispositivo o un archivo en lugar de hacerlo desde el teclado. Este carácter es equivalente al símbolo de redireccionamiento para la entrada (<).
    $B o $b Envía la salida de macro a un comando. Estos caracteres especiales son equivalentes a usar la canalización ( y *.
    $T o $t Separa los comandos. Use cualquiera de estos caracteres especiales para separar los comandos al crear macros o escribir comandos en la línea de comandos doskey. Estos caracteres especiales son equivalentes a usar la Y comercial (&) en una línea de comandos.
    $$ Especifica el carácter de signo de dólar ($).
    $1 mediante $9 Represente cualquier información de la línea de comandos que desee especificar al ejecutar la macro. Los caracteres especiales de $1 a $9 son parámetros por lotes que permiten usar datos diferentes en la línea de comandos cada vez que se ejecuta la macro. El carácter $1 en un comando doskey es similar al carácter %1 en un programa por lotes.
    $* Representa toda la información de la línea de comandos que desea especificar al escribir el nombre de la macro. El carácter especial $* es un parámetro reemplazable que es similar a los parámetros por lotes de $1 a $9, con una diferencia importante: todo lo que escriba en la línea de comandos después del nombre de la macro se sustituye por $* en la macro.
  • Para ejecutar una macro, escriba el nombre en el símbolo del sistema, empezando en la primera posición. Si la macro se definió con $* o cualquiera de los parámetros por lotes de $1 a $9, separe los parámetros con un espacio. No se puede ejecutar una macro doskey desde un programa por lotes.

  • Si siempre usa un comando determinado con opciones específicas de la línea de comandos, puede crear una macro que tenga el mismo nombre que el comando. Para especificar si desea ejecutar la macro o el comando, siga estas instrucciones:

    • Para ejecutar la macro, escriba el nombre en el símbolo del sistema. No agregue ningún espacio antes del nombre de la macro.

    • Para ejecutar el comando, inserte uno o varios espacios en el símbolo del sistema y escriba el nombre del comando.

Ejemplos

Las opciones de la línea de comandos /macros y /history son útiles para crear programas por lotes para guardar macros y comandos. Por ejemplo, para almacenar todas las macros doskey actuales, escriba:

doskey /macros > macinit

Para usar las macros almacenadas en Macinit, escriba:

doskey /macrofile=macinit

Para crear un programa por lotes denominado Tmp.bat que contiene los comandos usados recientemente, escriba:

doskey /history> tmp.bat

Para definir una macro con varios comandos, use $t para separar los comandos, tal como se indica a continuación:

doskey tx=cd temp$tdir/w $*

En el ejemplo anterior, la macro TX cambia el directorio actual a Temp y, a continuación, muestra una lista de directorios en formato ancho. Puede usar $* al final de la macro para anexar otras opciones de la línea de comandos a dir al ejecutar la opción tx.

La macro siguiente usa un parámetro por lotes para un nombre de directorio nuevo:

doskey mc=md $1$tcd $1

La macro crea un directorio y, luego, cambia a este directorio nuevo desde el actual.

Si desea usar la macro anterior para crear y cambiar a un directorio denominado Books, escriba:

mc books

Si desea crear una macro doskey para un programa denominado Ftp.exe, incluya /exename como se indica a continuación:

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

Para usar la macro anterior, inicie FTP. En el símbolo del sistema de FTP, escriba:

go

FTP ejecuta los comandos open, mget y bye.

Para crear una macro que dé formato rápido e incondicional a un disco, escriba:

doskey qf=format $1 /q /u

Para dar formato rápido e incondicional a un disco en la unidad A, escriba:

qf a:

Para eliminar una macro denominada vlist, escriba:

doskey vlist =