2 votos

¿Comandos de lotes para hacer comandos del archivo .txt?

<p>Estoy tratando de encontrar un comando o un script que puede hacer comandos desde un archivo .txt especificado. por ejemplo sería tratar un archivo .txt en un archivo por lotes pero no cambiarle el nombre a. bat.<p>¿Puede alguien ayudarme?</p><p>por ejemplo:</p><pre><code></code></pre><p>Funcionaría nombre_de_archivo.txt como un archivo .bat y hacer los comandos en él.</p></p>

7voto

PJ Mahoney Puntos 889

Ejecutar un Archivo de Texto como una secuencia de Comandos por Lotes

Sí, esto es posible mediante el archivo de texto que contiene los comandos que se necesitan ejecutar para ser citado como el primer lote de argumento que se pasa a la secuencia de comandos por lotes.

Puede establecer el valor del argumento como una variable y utilizando el tipo puede crear un archivo por lotes temporal con el contenido del archivo de texto y, a continuación, ejecute el archivo a través de cmd al proceso que corresponda.


Lote Lógica De Secuencias De Comandos

@ECHO ON

SET cmdtxt=%~1
SET cName=%~N1

if exist "%tmp%\%cName%.cmd" del /q /f "%tmp%\%cName%.cmd"
if not exist "%tmp%\%cName%.cmd" type "%cmdtxt%" >> "%tmp%\%cName%.cmd"
cmd /k "%tmp%\%cName%.cmd"

pause
exit

Nota: puede usar cmd /c para tener la ventana de comandos(s) de cierre después de la ejecución.


Archivo De Texto

ECHO Line 1
dir *.txt

Nota: Este es el archivo de texto sin un .bat o .cmd el que cada línea contendrá una válida comando de proceso por lotes que van a ser ejecutadas.


Ejecutar este utilizando. . .

1.Arrastrar y Soltar

enter image description here enter image description here


2. De La Línea De Comandos

C:\Users\User\Desktop\RunMe\RunTextCommands.cmd "C:\Users\User\Desktop\RunMe\cmd.txt"

@ECHO OFF De resultados

enter image description here


Más Recursos

  • Argumentos de Línea de comandos (Parámetros)

    %* en una secuencia de comandos por lotes se refiere a todos los argumentos (por ejemplo, %1 %2 %3 %4 %5 ...%255) sólo argumentos %1 %9 puede ser referenciada por número.

  • Si

  • Tipo de
  • Cmd

  • FOR /?

    Además, la sustitución de las referencias a variables ha sido mejorada. Ahora puede utilizar la siguiente sintaxis opcional:

    %~nI        - expands %I to a file name only
    

3voto

PJ Mahoney Puntos 889

Ejecutar Líneas Individuales de un Archivo de Texto como Comandos de proceso por Lotes

Sí, esto es posible mediante el archivo de texto que contiene los comandos que se necesitan ejecutar para ser citado como el primer lote de argumento que se pasa a la secuencia de comandos por lotes.

A continuación, puede ejecutar el archivo a través de un for /f bucle y iterar sobre el contenido de cada línea individualmente y pasar cada uno de [comando] valor de a cmd /c a ejecutar en consecuencia.


Lote Lógica De Secuencias De Comandos

@ECHO ON

SET cmdtxt=%~1

FOR /F "USEBACKQ TOKENS=*" %%A IN ("%cmdtxt%") do (
    cmd /c "%%~A"
    )
::PAUSE
EXIT 

Archivo De Texto

ECHO Line 1
dir *.txt

Nota: Este es el archivo de texto sin un .bat o .cmd el que cada línea contendrá una válida comando de proceso por lotes que van a ser ejecutadas.


Ejecutar este utilizando. . .

1.Arrastrar y Soltar

enter image description here enter image description here


2. De La Línea De Comandos

C:\Users\User\Desktop\RunMe\RunTextCommands.cmd "C:\Users\User\Desktop\RunMe\cmd.txt"

@ECHO OFF De resultados

enter image description here


Más Recursos

0voto

DavidPostill Puntos 30286

Estoy tratando de encontrar un comando o una secuencia de comandos que se pueden ejecutar comandos desde un .archivo txt

La más simple de las soluciones siempre son las mejores.

Utilice el siguiente comando:

cmd < command.txt

O:

escriba el comando.txt|cmd

Fuente de la respuesta de StackOverflow Cómo ejecutar DIRECTAMENTE comandos en un archivo txt en cmd? por MC ND y comentarios.

Nota:

Hay varios comandos que no funcionan en este archivo, como goto, setlocal y otros. Sin embargo, multi-línea anidados if y for comandos de hacer un trabajo tan largo como para los parámetros reemplazables utilizar sólo el uno por ciento (como en la línea de comandos).

Fuente de la respuesta de StackOverflow Ejecución de un no murciélago de la extensión de archivo como un archivo de proceso por lotes por Aacini

Véase la respuesta de StackOverflow Cómo ejecutar secuencia de comandos por lotes sin uso *.bate extensión, también por Aacini, para más observaciones sobre este enfoque. Esta respuesta también se incluye un enlace al código que se puede conseguir goto y call trabajando así!


Leer Más

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: