Saltar al contenido

Comando para ejecutar un archivo .bat

Después de de esta prolongada búsqueda de información pudimos resolver este enigma que tienen ciertos los usuarios. Te dejamos la respuesta y esperamos resultarte de mucha apoyo.

Solución:

"F:- Big Packets -kitterengineCommonTemplate.bat" tal vez precedido de call (ver call /?). O Cd /d "F:- Big Packets -kitterengineCommon" & Template.bat.


Hoja de referencia de CMD

  • Cmd.exe

  • Obteniendo ayuda

  • Puntuación

  • Nombrar archivos

  • Programas de inicio

  • Teclas

CMD.exe

Lo primero que hay que recordar es una forma de operar una computadora. Es la forma en que lo hicimos antes de que WIMP (Windows, iconos, mouse, menús emergentes) se volviera común. Debe sus raíces a CPM, VMS y Unix. Se utilizó para iniciar programas y copiar y eliminar archivos. También puede cambiar la fecha y la hora.

Para obtener ayuda sobre cómo iniciar el tipo CMD cmd /?. Debe comenzar con el /k o /c cambie a menos que solo quiera escribir en él.

Obteniendo ayuda

Para ayuda general. Escribe Help en el símbolo del sistema. Para cada comando enumerado, escriba help (p.ej help dir) o /? (p.ej dir /?).

Algunos comandos tienen subcomandos. Por ejemplo schtasks /create /?.

los NET la ayuda del comando es inusual. Mecanografía net use /? es una breve ayuda. Escribe net help use para obtener ayuda completa. Lo mismo se aplica a la raíz: net /? también es una breve ayuda, utilice net help.

Las referencias en la Ayuda al nuevo comportamiento describen cambios de CMD en OS / 2 y Windows NT4 a la CMD actual que está en Windows 2000 y posteriores.

WMIC es un comando de usos múltiples. Escribe wmic /?.


Puntuación

&    seperates commands on a line.

&&    executes this command only if previous command's errorlevel is 0.

||    (not used above) executes this command only if previous command's 
errorlevel is NOT 0

>    output to a file

>>    append output to a file

<    input from a file

2> Redirects command error output to the file specified. (0 is StdInput, 1 is StdOutput, and 2 is StdError)

2>&1 Redirects command error output to the same location as command output. 

|    output of one command into the input of another command

^    escapes any of the above, including itself, if needed to be passed 
to a program

"    parameters with spaces must be enclosed in quotes

+ used with copy to concatenate files. E.G. copy file1+file2 newfile

, used with copy to indicate missing parameters. This updates the files 
modified date. E.G. copy /b file1,,

%variablename% a inbuilt or user set environmental variable

!variablename! a user set environmental variable expanded at execution 
time, turned with SelLocal EnableDelayedExpansion command

% (%1) the nth command line parameter passed to a batch file. %0 
is the batchfile's name.

%* (%*) the entire command line.

%CMDCMDLINE% - expands to the original command line that invoked the
Command Processor (from set /?).

% or %% (%A or %%A) the variable in a for loop. 
Single % sign at command prompt and double % sign in a batch file.

\ (\servernamesharenamefolderfile.ext) access files and folders via UNC naming.

: (win.ini:streamname) accesses an alternative steam. Also separates drive from rest of path.

. (win.ini) the LAST dot in a file path separates the name from extension

. (dir .*.txt) the current directory

.. (cd ..) the parent directory


\? (\?c:windowswin.ini) When a file path is prefixed with \? filename checks are turned off. 

Nombrar archivos

< > : " /  | Reserved characters. May not be used in filenames.



Reserved names. These refer to devices eg, 

copy filename con 

which copies a file to the console window.

CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, 

COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, 

LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, and LPT9

CONIN$, CONOUT$, CONERR$

--------------------------------

Maximum path length              260 characters
Maximum path length (\?)      32,767 characters (approx - some rare characters use 2 characters of storage)
Maximum filename length        255 characters

Iniciar un programa

Ver start /? y call /? para obtener ayuda en las tres formas.

Hay dos tipos de programas de Windows: de consola o sin consola (estos se llaman GUI incluso si no tienen uno). Los programas de la consola se conectan a la consola actual o Windows crea una nueva consola. Los programas de GUI deben crear explícitamente sus propias ventanas.

Si no se proporciona una ruta completa, Windows busca en

  1. El directorio desde el que se cargó la aplicación.

  2. El directorio actual del proceso padre.

  3. Windows NT / 2000 / XP: el directorio del sistema de Windows de 32 bits. Utilice la función GetSystemDirectory para obtener la ruta de este directorio. El nombre de este directorio es System32.

  4. Windows NT / 2000 / XP: el directorio del sistema de Windows de 16 bits. No hay ninguna función que obtenga la ruta de este directorio, pero se busca. El nombre de este directorio es Sistema.

  5. El directorio de Windows. Utilice la función GetWindowsDirectory para obtener la ruta de este directorio.

  6. Los directorios que se enumeran en la variable de entorno PATH.

Especifique un nombre de programa

Ésta es la forma estándar de iniciar un programa.

c:windowsnotepad.exe

En un archivo por lotes, el lote esperará a que se cierre el programa. Cuando se escribe, el símbolo del sistema no espera a que salgan los programas gráficos.

Si el programa es un archivo por lotes, el control se transfiere y el resto del archivo por lotes que llama no se ejecuta.

Usar comando de inicio

Start inicia programas de formas no estándar.

start "" c:windowsnotepad.exe

Start inicia un programa y no espera. Los programas de consola se inician en una nueva ventana. Utilizando el /b switch obliga a los programas de la consola a entrar en la misma ventana, lo que niega el propósito principal de Inicio.

Inicio utiliza el shell gráfico de Windows, lo mismo que escribir WinKey + R (cuadro de diálogo Ejecutar). Tratar

start shell:cache

También nombres de programas registrados bajo HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionApp Paths también se puede escribir sin especificar una ruta completa.

También tenga en cuenta que el primer conjunto de comillas, si las hay, DEBE ser el título de la ventana.

Usar comando de llamada

La llamada se utiliza para iniciar archivos por lotes y esperar a que salgan y continúen con el archivo por lotes actual.

Otros nombres de archivo

Escribir un nombre de archivo que no sea del programa es lo mismo que hacer doble clic en el archivo.


Teclas

Ctrl + C sale de un programa sin salir de la ventana de la consola.

Para otras ediciones keys escribe Doskey /?.

  • y recuperar comandos

  • ESC borra la línea de comando

  • F7 muestra el historial de comandos

  • ALT+F7 borra el historial de comandos

  • F8 historial de comandos de búsquedas

  • F9 selecciona un comando por número

  • ALT+F10 aclara macro definiciones

Tampoco en la lista

  • control + o Mueve una palabra a la vez

  • control + Retroceso Elimina la palabra anterior

  • Hogar Principio de línea

  • Fin Fin de la línea

  • control + Fin Elimina al final de la línea

Puede consultar aquí: https://ss64.com/nt/start.html

start "" /D F:- Big Packets -kitterengineCommon /W Template.bat

Hay muchas posibilidades para resolver esta tarea.

1. EJECUTE el archivo por lotes con la ruta completa

La solucion mas facil es corriendo el archivo por lotes con la ruta completa.

"F:- Big Packets -kitterengineCommonTemplate.bat"

Una vez finalizado el archivo por lotes Template.bat se alcanza, no hay retorno al script anterior en caso de que la línea de comando anterior esté dentro de un archivo * .bat o * .cmd.

El directorio actual para el archivo por lotes Template.bat es el directorio actual del proceso actual. En caso de Template.bat requiere que el directorio de este archivo por lotes sea el directorio actual, el archivo por lotes Template.bat debe contener después @echo off como segunda línea la siguiente línea de comando:

cd /D "%~dp0"

Ejecutar en una ventana de símbolo del sistema cd /? para que se muestre la ayuda de este comando que explica el parámetro /D … cambiar al directorio especificado también en una unidad diferente.

Ejecutar en una ventana del símbolo del sistema call /? para que se muestre la ayuda de este comando que se usa también en la solución 2., 4. y 5. y explicando también %~dp0 … unidad y ruta del argumento 0, que es el nombre del archivo por lotes.

2. LLAME al archivo por lotes con la ruta completa

Otra solucion es vocación el archivo por lotes con la ruta completa.

call "F:- Big Packets -kitterengineCommonTemplate.bat"

La diferencia con la primera solución es que después del final del archivo por lotes Template.bat se alcanza el procesamiento por lotes continúa en el script por lotes que contiene esta línea de comando.

Para el directorio actual, lea arriba.

3. Cambie el directorio y EJECUTE el archivo por lotes con una línea de comando

Hay 3 operadores para ejecutar varios comandos en una línea de comando: &, && y ||.
Para obtener más información, consulte la respuesta en una sola línea con varios comandos utilizando el archivo por lotes de Windows

Sugiero para esta tarea el && operador.

cd /D "F:- Big Packets -kitterengineCommon" && Template.bat

Como en la primera solución, no hay retorno al script actual si se trata de un archivo * .bat o * .cmd y se cambia el directorio y la continuación del procesamiento por lotes en Template.bat es exitoso.

4. Cambie el directorio y el archivo por lotes CALL con una línea de comando

Esta línea de comando cambia el directorio y en caso de éxito llamadas el archivo por lotes.

cd /D "F:- Big Packets -kitterengineCommon" && call Template.bat

La diferencia con la tercera solución es el regreso al script por lotes actual al salir del procesamiento de Template.bat.

5. Cambie el directorio y el archivo por lotes CALL manteniendo el entorno actual con una línea de comando

Las cuatro soluciones anteriores cambian el directorio actual y se desconoce qué Template.bat hace con respecto a

  1. directorio actual
  2. Variables de entorno
  3. estado de extensiones de comando
  4. estado de expansión retardado

En caso de que sea así, es importante mantener el entorno del script * .bat o * .cmd actual sin modificar por nada Template.bat cambios en el medio ambiente por sí mismo, es aconsejable utilizar setlocal y endlocal.

Ejecutar en una ventana de símbolo del sistema setlocal /? y endlocal /? para que se muestre la ayuda de estos dos comandos. Y lea la respuesta en el comando de cambio de directorio cd … no funciona en el archivo por lotes después de la instalación de npm, explicando más detalladamente lo que hacen estos dos comandos.

setlocal & cd /D "F:- Big Packets -kitterengineCommon" & call Template.bat & endlocal

Ahora solo queda & en lugar de && utilizado ya que es importante aquí que después setlocal se ejecuta el comando endlocal finalmente también se ejecuta.


UNA NOTA MÁS

Si archivo por lotes Template.bat contiene el comando exit sin parámetro /B y este comando se ejecuta realmente, el proceso de comando siempre se sale independientemente de la jerarquía de llamadas. Así que asegúrate Template.bat contiene exit /B o goto :EOF en lugar de solo exit si hay exit utilizado en absoluto en este archivo por lotes.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *