2014-06-01

Abrir ficheros mediante un archivo batch

Title Un archivo batch es un archivo de procesamiento por lotes. Se trata de archivos de texto sin formato, guardados con la extensión .BAT que contienen un conjunto de instrucciones MS-DOS. Cuando se ejecuta este archivo, —mediante CMD— las órdenes contenidas son ejecutadas en grupo, de forma secuencial, permitiendo automatizar diversas tareas.

En este caso simplemente vamos a abrir ficheros mediante archivos batch:

1. Abrimos el Wordpad
2. Escribimos entre comillas la ruta completa del fichero que deseamos abrir:

"C:\Tu ruta\Fichero 1.txt"
La ruta se escribe entre comillas por si hay un espacio al final de la ruta especificada.

3. Clic en Guardar como con el nombre deseado, y en tipo elegimos Documento de texto - formato MS-DOS (*.txt) el fichero

4. Cambiamos la extensión del archivo a *.bat o *.cmd
5. Al hacer doble clic sobre el fichero .bat o .cmd se abrirá el fichero 1.

Sintaxis para abrir programas


START "title" [/D path] [options] "command" [parameters]

REM Ejemplos:
START "" "%SystemRoot%\WORD.exe"
START "" "C:\Program Files\Adobe\Reader 11.0\Reader\AcroRd32.exe"
START "" "C:\Program Files\Microsoft Office 15\root\office15\EXCEL.EXE
Tras START añadimos las "" porque es necesario especificar un título, aunque sea vacío.

Un ejemplo

Podemos añadir cierto grado de interactividad con el comando CHOICE, para elegir entre varias opciones. He creado el siguiente ejemplo que permite elegir entre 5 opciones.

Usamos Wordpad en lugar del bloc de notas para poder guardar con formato MS-DOS. En caso contrario, si la ruta del fichero incluye caracteres especiales, el archivo batch no abrirá el mismo ni representará esos caracteres en la consola correctamente.

He incluido varios caracteres especiales para que se pueda apreciar la diferencia. Primero el fichero sin formato, cuando lo escribimos en el Wordpad. Luego el fichero guardado con formato MS-DOS.

Sin formato MS-DOS

@ECHO OFF

ECHO México: 1
ECHO Perú:   2
ECHO Canadá: 3
ECHO España: 4
ECHO Salir:  5

CHOICE /C 12345 /M "¿Qué fichero quieres abrir?"

IF ERRORLEVEL 5 GOTO 5
IF ERRORLEVEL 4 GOTO 4
IF ERRORLEVEL 3 GOTO 3
IF ERRORLEVEL 2 GOTO 2
IF ERRORLEVEL 1 GOTO 1

:5
ECHO Opción 5 seleccionada
GOTO End

:4
ECHO Opción 4 seleccionada
"C:\Tu ruta\España.txt"
GOTO End

:3
ECHO Opcion 3 seleccionada
"C:\Tu ruta\Canadá.txt"
GOTO End

:2
ECHO Opcion 2 seleccionada
"C:\Tu ruta\Perú.txt"
GOTO End

:1
ECHO Opcion 1 seleccionada
"C:\Tu ruta\México.txt"
GOTO End

:end

Guardado con formato MS-DOS

@ECHO OFF

ECHO M‚xico: 1
ECHO Per£:   2
ECHO Canad : 3
ECHO Espa¤a: 4
ECHO Salir:  5

CHOICE /C 12345 /M "¨Qu‚ fichero quieres abrir?"

IF ERRORLEVEL 5 GOTO 5
IF ERRORLEVEL 4 GOTO 4
IF ERRORLEVEL 3 GOTO 3
IF ERRORLEVEL 2 GOTO 2
IF ERRORLEVEL 1 GOTO 1

:5
ECHO Opci¢n 5 seleccionada
GOTO End

:4
ECHO Opci¢n 4 seleccionada
"C:\Tu ruta\Espa¤a.txt"
GOTO End

:3
ECHO Opcion 3 seleccionada
"C:\Tu ruta\Canad .txt"
GOTO End

:2
ECHO Opcion 2 seleccionada
"C:\Tu ruta\Per£.txt"
GOTO End

:1
ECHO Opcion 1 seleccionada
"C:\Tu ruta\M‚xico.txt"
GOTO End

:end

Resultado en la consola

Otra alternativa es escribir al comienzo del archivo batch: CHCP 1252. Interpretará los caracteres especiales en las rutas, aunque no representará bien los caracteres en la consola.

Windows-1252 a archivos batch


Finalmente he creado una tabla con los caracteres Windows-1252 y su equivalente en MS-DOS.

Carácter = Archivo batch
        =
    !   =   !
    "   =   "
    #   =   #
    $   =   $
    %   =   %
    &   =   &
    \'  =   \'
    (   =   (
    )   =   )
    *   =   *
    +   =   +
    ,   =   ,
    -   =   -
    .   =   .
    /   =   /
    0   =   0
    1   =   1
    2   =   2
    3   =   3
    4   =   4
    5   =   5
    6   =   6
    7   =   7
    8   =   8
    9   =   9
    :   =   :
    ;   =   ;
    <   =   <
    =   =   =
    >   =   >
    ?   =   ?
    @   =   @
    a = a
    b = b
    c = c
    d = d
    e = e
    f = f
    g = g
    h = h
    i = i
    j = j
    k = k
    l = l
    m = m
    n = n
    o = o
    p = p
    q = q
    r = r
    s = s
    T = T
    u = u
    v = v
    w = w
    x = x
    Y = Y
    Z = Z
    [   =   [
    \   =   \
    ]   =   ]
    ^   =   ^
    _   = _
    `   =   `
    a = a
    b = b
    c = c
    d = d
    e = e
    f = f
    g = g
    h = h
    i = i
    j = j
    k = k
    l = l
    m = m
    n = n
    o = o
    p = p
    q = q
    r = r
    s = s
    T = T
    u = u
    v = v
    w = w
    x = x
    Y = Y
    Z = Z
    {   =   {
    |   =   |
    }   =   }
    ~   =   ~
    €   = _
    ‚   =   '
    ƒ = Ÿ
    „ = ""
    …   =   .
    † = Å
    ‡ = Î
    ˆ   =   ^
    ‰   =   %
    š = s
    ‹   =   <
    œ = o
    ž = Z
    ‘   =   '
    ’   =   '
    “ = ""
    ” = ""
    •   =    
    –   =   -
    —   =   -
    ˜   =   ~
    ™ = T
    š = s
    ›   =   >
    œ = o
    ž = Z
    Ÿ = Y

Referencias:
Archivo batch
START

1 comentario:

  1. Mi problema es que quiero ejecutar un .bat con el comando START excel.exe "C:\Users\OneDrive..." y me indica que no encuentra el archivo como si se encontrara en una página web, cuando no es así. Me dice "no encontramos 'https:\\..."
    Qué debería hacer para arreglar?

    ResponderEliminar

Nube de datos