
Crear un archivo por lotes para ejecutar el exe
Un archivo por lotes es un archivo de script en DOS, OS/2 y Microsoft Windows. Consiste en una serie de comandos a ejecutar por el intérprete de línea de comandos, almacenados en un archivo de texto plano. Un archivo por lotes puede contener cualquier comando que el intérprete acepte de forma interactiva y utilizar construcciones que permitan la ramificación condicional y el bucle dentro del archivo por lotes, como las etiquetas IF, FOR y GOTO. El término “lote” procede del procesamiento por lotes, que significa “ejecución no interactiva”, aunque un archivo por lotes puede no procesar un lote de datos múltiples.
Al igual que el Lenguaje de Control de Trabajos (JCL), el DCL y otros sistemas en los mainframes y los miniordenadores, los archivos por lotes se añadieron para facilitar el trabajo necesario para ciertas tareas habituales, permitiendo al usuario configurar un script para automatizarlas. Cuando se ejecuta un archivo por lotes, el programa shell (normalmente COMMAND.COM o cmd.exe) lee el archivo y ejecuta sus comandos, normalmente línea por línea.[1] Los sistemas operativos tipo Unix, como Linux, tienen un tipo de archivo similar, pero más flexible, llamado shell script.[2]
Comando de ejecución de archivos por lotes
Los archivos por lotes y los scripts de shell son los mejores amigos de los desarrolladores, ya que ayudan a mejorar mucho la productividad. No sólo ayudan a automatizar tareas aburridas y que consumen mucho tiempo, sino que también ahorran mucho tiempo al hacerlas y repetirlas. Los archivos por lotes también reducen las posibilidades de error, una vez probados, y fomentan la reutilización al compartirlos entre el equipo o las personas con necesidades similares. Aunque no todos los programadores, desarrolladores o usuarios de ordenadores tienen la mentalidad de utilizar el archivo por lotes, algo que es demasiado difícil de escribir, algunos simplemente no son capaces de luchar con la resistencia inicial y muchos de ellos ni siquiera son conscientes del archivo por lotes.
Como programador de Java, realmente no necesitas aprender estas cosas, ya que casi todo el mundo que utiliza el sistema operativo de Windows durante más de un año, lo sabe. De todos modos, saber no es suficiente, lo principal es adaptarse y sacar el máximo provecho de ellos, desarrollando la mentalidad hacia el scripting, la automatización y la escritura de archivos por lotes.
Recuerde, la escritura de shell es una de las habilidades importantes para conseguir un trabajo de programación y más importante para apoyar la aplicación que se ejecuta en el sistema operativo UNIX en el ámbito de la banca de inversión. Escribir scripts por lotes no son scripts completos, pero es una forma más ligera de ello, funciona mejor para entrenarse y desarrollar esa mentalidad de scripting para mejorar la productividad.
Ejemplo de archivo Bat
Ejemplos de scripts por lotes más frecuentes y complejosCon la guía paso a paso anterior, puede crear una amplia variedad de archivos por lotes con un número ilimitado de comandos diferentes. Sin embargo, los scripts que puedes utilizar con más frecuencia son definitivamente más útiles a largo plazo. Concluiremos con dos ejemplos de archivos por lotes con valor a largo plazo para ilustrar las posibilidades del procesamiento por lotes con el Símbolo del sistema de Windows.Script por lotes con mecanismo de copia de seguridad simpleEl siguiente ejemplo muestra lo útiles que pueden ser los archivos por lotes para crear copias de seguridad periódicas de cualquier directorio:XCOPY C:\NDirectorio de salida C:\NDirectorio de copia de seguridad /m /e /yCuando cree y ejecute un archivo por lotes que contenga la línea mostrada anteriormente, utilice el comando “xCOPY” para copiar el contenido de la “carpeta de origen” a la “carpeta de copia de seguridad”. Tendrás que ajustar los directorios que contienen estas dos carpetas en consecuencia. Los tres parámetros del final tienen el siguiente efecto:Archivo por lotes con función de copia de seguridad complejaEl programa de copia de seguridad anterior le permite copiar los archivos de origen de la carpeta de origen a la carpeta de destino. También puede crear un archivo por lotes que distribuya los datos de origen en varias carpetas de destino, en cuyo caso puede utilizar el tipo de archivo como criterio de selección. Para ello, necesita un bucle for, que permite ejecutar un comando repetidamente con un argumento variable:cd C:\N-Directorio de salida
Archivo por lotes que ejecuta el script de python
Lo primero que necesita hacer es crear un proceso, ya sea usando el Requester, la Interfaz de Usuario de CDBrowser o un editor de texto. Para los propósitos de este artículo usé el Requester. Comencé con el proceso de abajo. Esto da un punto de partida fácil para crear un proceso usando un archivo por lotes ya que el Requester ya ha revisado la sintaxis.
El archivo por lotes onTheFly se hace eco de los comandos de Connect:Direct en el archivo que llamé myproc.txt. Este es el archivo que servirá de entrada a la interfaz de línea de comandos (CLI) de Connect:Direct. En este ejemplo, onThrFly requiere tres entradas. Requiere el nombre del snode, el nombre del archivo de origen y el nombre del archivo de destino. Como puede ver, este ejemplo comprueba la sintaxis y, si no se proporcionan las tres entradas, muestra la sintaxis necesaria.
Para simplificar, he creado este archivo por lotes en el directorio de utilidades comunes de Connect:Direct para evitar la necesidad de calificar completamente la ruta del comando directo. También he utilizado sólo nombres de archivo para el origen y el destino, lo que permite utilizar los directorios de carga y descarga predeterminados definidos en Connect:Direct. Direct es el comando que abre la CLI, en este caso estoy utilizando el archivo cddef.bin para proporcionar la información de conexión para adjuntar al nodo Connect:Direct que actúa como el pnode para el proceso. Este archivo es producido por el archivo lcu.bat en el directorio Connect:Direct Common Utilities. La ventaja de utilizar el archivo cddef.bin en lugar de confiar en el comando direct sin ningún parámetro es que no depende del usuario conectado a Windows.