Comandos dos para el archivo bat. Cómo crear un archivo bat. Comandos de ejemplo para archivos bat

Las personas que están familiarizadas con el término archivo por lotes saben que los archivos BAT pueden simplificar enormemente la vida y ahorrar tiempo si sabe cómo escribirlos y usarlos correctamente. En este artículo, hablaré sobre cómo crear archivos BAT y te presentaré los errores comunes que suelen ocurrir al escribirlos.

Crear un archivo BAT es muy fácil. Basta con abrir el bloc de notas y guardar una hoja en blanco con la extensión .bat seleccionando la opción Guardar como... y escribiendo algo que termine en .bat en el campo Nombre del archivo, por ejemplo test.bat.
Especifique el tipo de archivo como se muestra en la siguiente captura de pantalla: Todos los archivos. Guarde y obtenga el archivo BAT.

Puede editar el archivo BAT en el bloc de notas o en cualquier otro editor de texto orientado al código.

Ahora pasemos a la información práctica. En la red, muchos buscan una respuesta a la pregunta ¿Cómo lidiar con los espacios en los archivos BAT? . En rutas a carpetas y archivos ejecutables, la presencia de un espacio provoca un error. La respuesta más común es: Encierre la ruta entre comillas. Y esta respuesta no es correcta. Es cierto que algunos argumentarán con espuma en la boca que funciona. Entonces, aparecieron dos por qué: por qué no es cierto y por qué algunos lo serán.

En Windows (como, de hecho, en UNIX), los programas instalados en el sistema son registrados por el sistema en consecuencia. Por lo tanto, algunos de programas instalados se puede iniciar con un simple comando desde un archivo BAT o desde el subprograma Ejecutar del panel Inicio. Uno de esos programas es Firefox:

iniciar firefox

Si después de este comando escribe la ruta al archivo ejecutable, sucede lo siguiente: navegador firefox e intenta procesar la solicitud, es decir, el archivo, la ruta a la que se especifica. Es decir, si especificas lo siguiente:

inicie firefox C:\Archivos de programa\Mozilla Firefox\firefox.exe

El navegador se abrirá, lo que esté escrito después de iniciar Firefox. Es por eso que algunos compañeros asegurarán que todo funciona bien. Sin embargo, si toma un programa portátil, la situación será completamente diferente. Tomemos como ejemplo el cliente FTP de Filezilla. Dado que el sistema no conoce el programa, la línea anterior

iniciar filezilla

no trabajará. Para ejecutar un programa desconocido para el sistema, debe especificar la ruta al mismo:

iniciar D:\FileZilla\FileZilla.exe

Nombres largos en archivos bat

Ahora hablemos de caminos y espacios. La primera forma de evitar este problema es utilizar un nombre corto.

iniciar C:\Archivos de programa\Sound Club\scw.exe

En el ejemplo, hay dos nombres con espacios. Vamos a reemplazarlos por unos cortos. Las reglas para crear nombres cortos son las siguientes: en el nombre corto, los primeros seis caracteres del nombre se usan sin espacios, después del nombre, el número de secuencia de la carpeta se indica con el símbolo ~ . Como tengo las carpetas Archivos de programa y Sound Club en singular, obtengo lo siguiente:

Archivos de programa - Progra~1 Sound Club - SoundC~1 start C:\Progra~1 \SoundC~1 \scw.exe

Si hay dos carpetas cerca, por ejemplo Sound Club y Sound Clown , siguiendo las reglas, en el ejemplo anterior, deberá especificar SoundC ~ 2 , ya que en este caso Sound Club será el segundo nombre (los nombres se consideran en orden alfabetico).

Pero este método es inconveniente porque debe especificar números de serie. La situación con los archivos de programa es más o menos normal. Pocas personas se encontrarán con dos carpetas similares en unidad de sistema. Pero si elige instalar varios productos de Mozilla en su computadora. Obtendrá varias carpetas, por ejemplo:

Mozilla Firefox Mozilla Thunderbird Mozilla Sunbird

Sus nombres cortos serían

Mozill~1 Mozill~2 Mozill~3

Ahora imagina que escribiste un archivo BAT mencionando estos programas. Si elimina Firefox, las entradas restantes dejarán de funcionar, y si elimina Thunderbird, la entrada para Sunbird dejará de funcionar. En resumen, el camino con los nombres cortos no es nuestro camino.

Espacios y comillas en archivos bat

Las cotizaciones realmente funcionan, pero no en las formas que normalmente se recomiendan. Generalmente se aconseja lo siguiente:

inicie "C:\Archivos de programa\Sound Club\scw.exe"

Esto no funcionará, porque si miras la ayuda ( start /? ), verás lo siguiente en la ayuda:

INICIO ["cabecera"] [comando/programa] [opciones]

Como puede ver, el primer parámetro es el título de la ventana y está entre comillas. Este parámetro es opcional, pero aún así se recomienda especificar () para evitar errores al ejecutar el comando. No se puede escribir nada entre comillas. Resultará así:

iniciar "" "C:\Archivos de programa\Sound Club\scw.exe"

La opción de citar todos los nombres con espacios por separado también funcionará:

inicie C:\"Archivos de programa"\"Sound Club"\scw.exe

Sin embargo, en algunos casos ninguno de los anteriores funciona. En tales casos, puedo recomendar el uso del comando cd. Vamos a partición del sistema, luego cd en la carpeta Archivos de programa y ejecute el programa (inicio):

%SystemDrive% cd \Archivos de programa\Sound Club\ iniciar scw.exe

Creo que de esta manera funcionará en todas partes. Ahora un par de puntos más importantes. Suponga que ha creado un archivo por lotes que inicia tres programas y necesita excluir temporalmente el inicio de uno de los tres. Esto se puede hacer eliminando la línea o comentándola. La primera forma es vandálica, y la segunda es por debajo.

iniciar firefox iniciar jetaudio rem iniciar defraggler

En este caso, el lanzamiento del programa Defraggler.exe instalado en el sistema está deshabilitado. Comente las líneas agregando el comando rem al comienzo de la línea. Todos los archivos BAT se ejecutan en la ventana de la consola. Para que desaparezca al final de la ejecución de los comandos, no olvide escribir el comando de salida al final.

iniciar firefox iniciar jetaudio rem iniciar defraggler salir

Lanzamiento de aplicaciones desde un archivo bat

En la primera parte del artículo, hablé en términos generales sobre los archivos BAT. Ahora quedó claro: qué es y con qué se come. En la segunda parte, hablaremos de cosas más específicas. Por ejemplo, sobre cómo ejecutar varias aplicaciones con ciertas configuraciones usando un archivo BAT o instalar el programa automáticamente para no perder tiempo en respuestas como ¿Está de acuerdo con los términos del acuerdo de licencia? y no presione ningún botón adicional.

Lo anterior describió varias formas de iniciar aplicaciones usando un archivo BAT. El primero es un comando corto para iniciar el programa instalado en el sistema.

iniciar firefox

No siempre funciona. Por lo tanto, dicha técnica se puede aplicar completamente a un sistema particular, pero no es adecuada como solución universal. Si existe el objetivo de hacer que el archivo BAT funcione en todas partes y siempre, debe usar rutas completas:

iniciar C:\"Archivos de programa"\"Mozilla Firefox"\firefox.exe

También noté que el comando para completar debe estar presente en el archivo BAT:

iniciar C:\"Archivos de programa"\"Mozilla Firefox"\firefox.exe salir

Lanzamiento de programas en archivos bat con parámetros (claves)

No puede simplemente ejecutar el programa, sino darle comandos adicionales al inicio. Por ejemplo, comando para ejecutar minimizado:

iniciar /min D:\FileZilla\FileZilla.exe salir

Mandar en este caso significa especificar la clave. La clave se especifica a través de una barra inclinada después del comando principal (comando/tecla). El comando principal en este caso es start. Es cierto que la tecla min funciona solo la mitad del tiempo, porque se refiere específicamente al comando de inicio y no a los programas que inicia este comando.

En general, hay muchas claves y los conjuntos de claves para diferentes programas pueden variar significativamente. Sin embargo, hay algunos comunes. Por ejemplo, la tecla de ayuda (/? o /help). Para ver cómo funciona esta tecla, veamos un ejemplo práctico. Abra la consola (haga clic en + R , escriba cmd , luego Enter ) y escriba lo siguiente en la consola:

comienzo/?

La consola mostrará una lista de claves válidas con comentarios para el comando de inicio.

Observe el interruptor /wait. En algunos casos, es simplemente insustituible. Por ejemplo, decidió descomprimir el archivo con el programa usando el archivo BAT y ejecutar este mismo programa. Habrá dos comandos en el archivo por lotes: para desempaquetar y para iniciar. Dado que los comandos se ejecutarán casi simultáneamente cuando se inicie el archivo BAT, el archivo no tendrá tiempo de descomprimirse y no habrá nada que ejecutar. Por lo tanto, habrá un error. En este caso, la llave vendrá al rescate. /Espere:

Por lo tanto, el sistema primero realizará la primera acción, esperará a que se complete y solo luego procederá a la segunda. Si necesita esperar un período de tiempo específico, entonces es más fácil usar la utilidad de la consola. En el lugar correcto en el archivo BAT, escriba el siguiente comando (número - número de segundos):

iniciar Sleep.exe 15

Puedes hacer mucho con las llaves. Es posible instalar aplicaciones. Para ello se utilizan varias claves, dependiendo del tipo de instalador utilizado para instalar el programa en un equipo:

/S /s /q /silent y varios otros

En algunos casos es muy conveniente. Avast Antivirus tiene una opción de instalación silenciosa en la versión corporativa. La versión gratuita (doméstica) supuestamente no tiene una instalación silenciosa. Sin embargo, si sabe cómo funciona el instalador InstallShield, comprenderá que se trata de una estafa, ya que este instalador es compatible con el conmutador de instalación silenciosa /S. Y eso significa todos los productos hechos sobre esta base, también. Y Avast no es una excepción. Simplemente cree un archivo BAT con contenido en la carpeta Avast

iniciar avast.exe /S salir

ejecútelo y el programa se instalará en su computadora casi sin su participación. De esta forma, puede escribir una lista completa de programas para la instalación silenciosa y ahorrar tiempo, por ejemplo, al reinstalar el sistema. En el artículo puedes obtener más información detallada por llaves.

Hay otras opciones para administrar programas usando archivos BAT. Puede iniciar un programa diciéndole que abra un archivo al inicio. Utilizo este método cuando desarrollo sitios web. Es muy conveniente cuando todas sus herramientas abren los documentos y carpetas necesarios presionando solo un botón:

conexión rem al servidor ftp iniciar /min D:\FileZilla\FileZilla.exe "ftp://login:contraseña@servidor" rem abriendo index.php en Firefox inicie C:\"archivos de programa"\"mozilla firefox"\firefox.exe "http://localhost/site_folder/index.php" rem abriendo start.html en un editor de texto start /min C:\"Archivos de programa"\text_editor.exe "E:\server\site_folder\index.html" rem carpeta abierta con archivos del sitio inicio /min E:\servidor\carpeta_con_sitio salida de la consola rem salida

Observo que todos los métodos anteriores se pueden usar en varias combinaciones y combinaciones.

iniciar /min /esperar programa.exe /m /S iniciar C:\Directorio\programa2.exe "C:\Archivos\archivo.odt" salir

Pero es importante recordar: todo lo relacionado con la ejecución del programa lanzado en el archivo por lotes se escribe con él en la misma línea.

inicie C:\"archivos de programa"\"mozilla firefox"\firefox.exe "http://localhost/site_folder/index.php"

Como epílogo, ofreceré para su revisión el convertidor de archivos BAT a aplicaciones del formato .exe - . Un archivo BAT no siempre es estéticamente agradable, pero con la ayuda de un convertidor puede empaquetar un archivo por lotes en un archivo exe, decorándolo con cualquier ícono de su elección.

Encontré otro convertidor de BAT a EXE, puedes considerarlo como una alternativa al programa anterior: Advanced Bat To Exe Converter

En este artículo, daré algunos ejemplos de escritura de archivos BAT. Considere los comandos para cambiar la fecha del sistema, iniciar y detener el servicio de Windows, ejecutar el programa, mostrar un mensaje para el usuario.

archivo por lotes(archivo por lotes) es un archivo de texto en MS-DOS, OS/2 o Windows que contiene una secuencia de comandos que debe ejecutar el shell. Después de ejecutar el archivo por lotes, el programa intérprete (generalmente COMMAND.COM o cmd.exe) lo lee línea por línea y ejecuta los comandos en secuencia. Un archivo por lotes es similar a los archivos de script de línea de comandos (script de shell) en los sistemas operativos similares a Unix.

Los archivos por lotes de DOS tienen una extensión .BAT; para otros sistemas operativos, pueden tener diferentes extensiones, como .CMD en Windows NT y OS/2 o .BTM en 4DOS o shells similares.

Para crear un ejecutable en sistema operativo ventanas, solo dos pasos son suficientes:

  • Seleccione la ubicación de la carpeta del futuro archivo bat
  • Haga clic derecho y seleccione: Nuevo > Documento de texto
  • Le damos el nombre al archivo y cambiamos la extensión .txt a .bat, por ejemplo, debería resultar "archivo.bat". Aceptamos cambiar la extensión, haga clic en "Sí"

¡Todo! El archivo ejecutable está listo. Solo queda agregarle comandos. Para hacer esto, haga clic derecho sobre él y seleccione "editar". En la ventana del editor de texto que se abre, se ingresan los comandos.

Salida de mensajes de texto

Hay un comando para mostrar texto en la pantalla. ECO. Después del comando, escribimos el texto para la salida. Por ejemplo, en un archivo bat escribimos las líneas:

eco hola mundo!
pausa

equipo PAUSA damos para que la ventana no se cierre automaticamente despues de la ejecucion ECO, pero esperó a que se presionara cualquier tecla para salir.

Como se puede ver en la figura, se emite el texto, pero hay problemas con la codificación. Para mostrar caracteres rusos, agregue el comando al principio chcp<код_кодировки> . Aquí hay un ejemplo de codificación:

  • 1251 - Ventanas (cirílico);
  • 866 - codificación DOC;
  • 65001 - UTF-8;

Cambiemos el código de nuestro archivo ejecutable a lo siguiente:

@echo apagado
Chcp 1251
eco hola mundo!
pausa

Equipo @echo apagado sirve para deshabilitar la salida de la dirección y el texto del comando en sí. Se muestra texto en ruso.

Entrada del usuario

A menudo, para resolver algunos problemas, debe establecer manualmente los valores de las variables. Considere este ejemplo, el archivo ejecutable solicita un nombre de usuario y luego muestra el texto "hola<имя>».

@echo apagado
Chcp 1251
establecer /p entrada="Su nombre: "
echo Hola, %input%
pausa

equipo ESTABLECER creamos una variable de entrada y le asignamos el valor ingresado por el usuario. Para mostrar el valor de una variable, encierre su nombre en un signo % .

Activar y desactivar los servicios de Windows

A veces hay situaciones en las que los servicios del programa entran en conflicto entre sí. Por ejemplo, esta situación se observa con los programas TecDoc y ETK BMW (estos son catálogos de piezas de automóviles, error de servicio de Transbase). Mientras se ejecuta el servicio de un programa, el servicio del segundo y, por lo tanto, el programa en sí, no se iniciará. La situación se resuelve con unas pocas líneas en el archivo ejecutable:

@echo apagado
parada neta Transbase
net start Transbase TECDOC CD 2_2015 Servicio
inicio "" "C:\TECDOC_CD\2_2015\pb\tof.exe"

equipos parada neta y inicio neto deshabilitar y habilitar los servicios de Windows. Equipo comienzo ""<путь> inicia el programa. Por lo tanto, si se habilita un servicio que interfiere con el programa, se apagará y se iniciará el necesario, y solo después de eso se iniciará el programa. Creamos el segundo archivo ejecutable, cambiamos los servicios en lugares y prescribimos let al segundo programa. ¡Listo! Tienes dos archivos bat, necesitan ejecutar programas. La única desventaja de esta solución es la imposibilidad de utilizar ambos programas al mismo tiempo.

En este articulo:

  • Definición de variables
  • Variables de línea de comando (parámetros de llamada de archivo bat)
  • Declaración de condición IF
  • Funciones
  • Uso de valores devueltos (manejo de código de salida del programa)

Definición de variables

ESTABLECER<Имяпеременной>=<Значениепеременной>

La declaración SET es una extensión de las opciones en el sistema operativo. Especifica una variable cuyo valor se sustituye por su nombre cada vez que ese nombre se usa entre signos de porcentaje. Entonces, si se establece (una variable que requieren muchos juegos que usan la tarjeta de sonido de una computadora):

SET BLASTER=A220 I5 D1 P330

luego, al usar la siguiente construcción en un archivo por lotes:

ECO %BLASTER%

la pantalla mostrará "A220 I5 D1 P330". Las variables definidas con la declaración SET se denominan variables de entorno y son visibles después de la ejecución hasta que se reinicia DOS (a menos que se modifiquen manualmente en la memoria). Es decir, puede usarse desde un archivo por lotes o programa después de especificarse en otro. La más famosa es la variable PATH, que es un conjunto de rutas para encontrar archivos rápidamente. Se establece en el archivo autoexec.bat.

Variables de la línea de comandos
(parámetros de llamada de archivo bat)

%<цифра 0-9>

Como en cualquier lenguaje, en el lenguaje de los archivos por lotes es posible utilizar variables recibidas como parámetros de un archivo bat.

En total, puede haber 10 variables independientes existentes simultáneamente. Esto es bastante pequeño para escribir programas complejos, aunque 3-4 suele ser suficiente para el trabajo normal. El valor de una variable es igual al valor del parámetro correspondiente de la línea de comando. La variable %0 contendrá el nombre del archivo .bat y, si se especifica, la ruta al mismo. Es decir, si ejecuta el archivo abc.bat con los siguientes parámetros:

abc.bat a bc def

entonces %0 contendrá el valor de abc.bat , %1 contendrá el valor de a , %2 contendrá bc y %3 contendrá def . Esta propiedad se usa ampliamente para crear archivos por lotes genéricos cuando se trata de operaciones repetitivas.

Para obtener más de 10 variables desde la línea de comando, puede usar el comando SHIFT.

El comando SHIFT permite el uso de más de 10 opciones de línea de comandos, sin embargo, las opciones anteriores se pierden en consecuencia. En otras palabras, el comando SHIFT desplaza todos los valores de las variables un paso a la izquierda. Es decir, la variable %0 contendrá el valor contenido previamente en la variable %1 y la variable %1 contendrá el valor de la variable %2 antes del cambio. Sin embargo, esta operación es irreversible, es decir, es imposible desplazar las variables hacia atrás.

Declaración de condición IF

Afortunadamente, el shell cmd.exe de Windows 2000 moderno y versiones posteriores admite bloques de comandos en construcciones de rama, lo que elimina la necesidad de etiquetas IF. Los bloques de comandos están encerrados entre paréntesis. Se ve así (imitando el estilo de sangría de C/C++):

si condición (

Comandos de bifurcación Rem 'then'

Movimiento rápido del ojo...

) más (

Comandos de rama Rem 'else'

Movimiento rápido del ojo...

Caso de uso específico:

@echo apagado

setBUILDMODE=%1

si "%MODO DE CONSTRUCCIÓN%" == "" (

Echo FAIL: Se requiere argumento ^(--debug, --release^)

Salir /b 1

rem Elimine todos los guiones del argumento para simplificar el procesamiento

establecer MODO DE CONSTRUCCIÓN =% MODO DE CONSTRUCCIÓN: - =%

if "%BUILDMODE%" == "depurar" (

Establecer CCFLAGS=/Od/MDd/Z7

) más (

Establecer CCFLAGS=/O2/MD

En mi opinión, ya es bastante posible vivir con eso. Pero, como siempre, la vida no es tan fácil como parece. Hay un problema. Las variables utilizadas en los bloques then y else se expanden antes de que esos bloques comiencen a ejecutarse, no durante la ejecución. En el ejemplo dado, esto no causa ningún problema, pero en el siguiente lo hará:

if "%BUILDMODE%" == "depurar" (

Echo INFO: configuración del modo de depuración del entorno

Establecer OPTFLAGS=/Od

Establecer CCFLAGS=%OPTFLAGS% /MDd /Z7

) más (

Echo INFO: Configuración del modo de liberación del entorno

Establecer OPTFLAGS=/O2

Establecer CCFLAGS=%OPTFLAGS% /MD

El problema es que en ambos bloques, la variable OPTFLAGS se sustituirá antes de que se cambie durante la ejecución de este bloque. En consecuencia, el valor que tenía OPTFLAGS al comienzo de la ejecución de este bloque if se sustituirá en CCFLAGS.

Este problema se resuelve utilizando la expansión variable retardada. Variables encerradas entre !…! en lugar de %…%, se expandirán en sus valores solo en el momento del uso directo. Este modo está deshabilitado por defecto. Puede habilitarlo usando el interruptor /V:ON al llamar a cmd.exe o usando el comando:

en el texto del propio archivo bat. La segunda forma me parece más conveniente: no es muy bueno requerir que alguien ejecute su script con un parámetro determinado.

Dicho esto, el ejemplo "incorrecto" anterior se puede corregir así:

setlocal habilitadoretrasoexpansión

if "%BUILDMODE%" == "depurar" (

Echo INFO: configuración del entorno del modo de depuración

Establecer OPTFLAGS=/Od

Establezca CCFLAGS=!OPTFLAGS! /MDd /Z7

) más (

Echo INFO: Configuración del entorno del modo de liberación

Establecer OPTFLAGS=/O2

Establezca CCFLAGS=!OPTFLAGS! /MARYLAND

Ahora bien, esto es casi un bloque if-then-else en toda regla. Casi, porque si en uno de los comandos de eco se encuentra con un paréntesis de cierre, entonces debe escapar con el carácter ^, de lo contrario, el analizador se confunde ...

Pero en cualquier caso, es mucho mejor que una cantidad insana de etiquetas y transiciones.

Funciones

¿Es posible crear una función en un archivo bat? Sí tu puedes. Además, a veces es incluso necesario. Es cierto que se puede llamar funciones condicionalmente.

Existe una sintaxis especial para el comando de llamada, que le permite saltar a una etiqueta en el mismo archivo bat, recordando el lugar desde el que se realizó esta llamada:

llamada:argumentos de etiqueta

Regresar de una función se hace con el comando:

exit /b [código de retorno opcional]

La tecla /b es muy importante aquí: sin ella, no se cerrará la función, sino el script en general.

Para más detalles marque línea de comando:

llamar/?

salida /?

Curiosamente, el comando de llamada con esta sintaxis admite llamadas recursivas con creación automática de un nuevo marco para argumentos variables %0-%9. A veces esto puede ser útil. Aquí hay un ejemplo clásico de cálculo factorial recursivo en lenguaje de comandos:

@echo apagado

llamada:factorial %1

eco %RESULTADO%

salida

rem Función para calcular el valor factorial

inicio de sesión:

rem %1 El número para el que desea calcular el factorial

salida real:

rem %RESULTADO% Valor factorial

:factorial

si %1 == 0 (

Establecer RESULTADO=1

Salir /b

si %1 == 1 (

Establecer RESULTADO=1

Salir /b

establecer /a PARAM=%1 - 1

llamada: factorial %PARAM%

establecer /a RESULTADO=%1 * %RESULTADO%

salir /b

Ejemplo de trabajo:

> factorial.bat 10

3628800

Uso de valores de retorno
(procesando el código de salida del programa)

Cualquier programa al final de su trabajo devuelve al sistema operativo el código de su finalización. Es habitual devolver cero en caso de éxito, de lo contrario, un código de error. A veces, o bastante a menudo, un programa "deliberadamente" devuelve un valor distinto de cero para poder "aprender" algunos detalles de su funcionamiento en un archivo por lotes. Por ejemplo, el programa devuelve el código de la tecla presionada y el archivo .bat realiza varias acciones en él.

¿Cómo puede un archivo por lotes averiguar el código de salida del programa ejecutado? La variable clave ERRORLEVEL se proporciona para esto.

Un ejemplo de un archivo por lotes con niveles de error:

@ECO DESACTIVADO

REM Ejecute el programa prg1.exe

PRG1.EXE

Análisis de código de salida REM

SI ERROR NIVEL 2 VAYA A ARCHIVO NO ENCONTRADO

SI ERROR NIVEL 1 VAYA A ESCRIBIR ERROR

SI NIVEL DE ERROR 0 VAYA A SALIR

IR A UNA SALIDA

:ARCHIVO NO ENCONTRADO

¡Error de eco! ¡Archivo no encontrado!

IR A UNA SALIDA

:ERROR DE ESCRITURA

ECHO ¡Error de escritura!

IR A UNA SALIDA

:SALIR

Programa ECHO completado con éxito.

IR A UNA SALIDA

:UNEXIT

Preste atención: el análisis del código de salida no comienza desde cero, sino desde el valor máximo posible. El hecho es que dicha verificación significa: "si el nivel de error es mayor o igual que el valor, entonces ...". Es decir, si comprobamos a partir de cero, cualquier valor de la primera línea será verdadero, lo cual no es cierto.

Este es el error más común en este tipo de programas.

En este artículo consideraremos algo tan útil como " archivo por lotes". Primero definamos qué es un archivo bat. Los archivos por lotes o por lotes son archivos de texto sin formato que contienen conjuntos de comandos ( instrucción) del intérprete y teniendo la extensión bat o cmd ( cmd solo funciona en el sistema operativo de la familia NT). Puede crear y editar dichos archivos usando un bloc de notas normal o cualquier otro editor de texto.

Ahora pregunta por qué necesita poder escribir tales archivos bat. ¿Y por qué son necesarios? Trataré de explicar.

En primer lugar, se utilizan para facilitar el trabajo, es decir, por ejemplo, necesita realizar constantemente alguna operación todos los días ( por ejemplo, crear un archivo de ciertos documentos), con la ayuda de un archivo por lotes, esto se puede automatizar y ya no participará en esto.

En segundo lugar, estos archivos por lotes son muy potentes ( si sabes escribirlos), es decir. Incluso puedes escribir un programa decente ( me refiero a funcional). En lo personal me ayudan mucho en mi trabajo, y ya simplemente me olvidé de algunas cosas cuando lo hice manualmente.

Ahora vayamos directamente a los conceptos básicos de estos archivos por lotes. Cómo se crean, solo necesita crear un documento de texto simple, abrirlo e inmediatamente en la pestaña " Archivo->guardar como”, ingrese en lugar de la extensión “ Documento de texto.txt", por ejemplo " Documento de texto.bat” y guarde, por lo que obtenemos un archivo por lotes con la extensión .bat, pero aún no hace nada.

Para empezar, daré un ejemplo de un archivo por lotes que utilizo en el trabajo para archivar documentos.

"C:\Archivos de programa\WinRAR\winrar.exe" a -r -dh -ed -agYYYY-mm-dd E:\arhaccounts\ d:\accounts\*.doc "C:\Archivos de programa\WinRAR\winrar. exe" a -r -dh -ed -agYYYY-mm-dd E:\arhaccounts\ d:\accounts\*.xls "C:\Program Files\WinRAR\winrar.exe" a -r -dh -ed -agYYYY -mm-dd E:\arhaccounts\ d:\cuentas\*.txt

Ahora les contaré un poco sobre lo que hace este archivo por lotes. Se inicia WinRar, luego siguen los comandos de winrar:

  • a es para agregar al archivo;
  • -r - procesar carpetas anidadas;
  • -dh - abre archivos compartidos;
  • -ed - no agregar carpetas vacías;
  • AAAA-mm-dd: agregue la fecha actual al nombre del archivo ( formato de fecha);
  • E:\arhaccounts\ - la ruta donde se ubicará el archivo final;
  • d:\cuentas\*.doc — ruta y máscara de los archivos a archivar.

En este caso, archivamos todos los documentos de Word, Excel y archivos de texto, no necesitamos archivar el resto. Nuestro archivo va a otro disco, y también copiamos el archivo resultante a otra computadora para que los archivos se almacenen en otro gabinete. La copia se realiza a través de la red, por lo que la computadora en la que se copia el archivo debe estar encendida. Para hacer esto, puede usar el siguiente comando:

Copie E:\arhaccounts\*.rar \\namecomp\arhiv\

Comandos de ejemplo para archivos bat

Ahora veamos los comandos principales que puede usar.

Si necesita eliminar un archivo, escriba lo siguiente:

Supr d:\archivo\prueba.doc

Para eliminar un directorio completo, escriba:

Rd d:\archivo\

De repente, necesita eliminar cada vez todo de algún directorio, luego use esto:

Eco Y| del d:\archivo\

  • del d:\file\ - esto es exactamente la eliminación de todos los archivos;
  • eco Y| - el comando confirma la eliminación porque si no registra este comando, verá un mensaje que confirma la eliminación: " Continuar ", y deberá responder esta pregunta cada vez.

Ahora veamos un ejemplo más complicado, en el que la condición ya se cumple:

@echo off "C:\Program Files\WinRAR\winrar.exe" x -O+ -IBCK d:\test\test.rar d:\test SI NO EXISTE d:\test\123.rar GOTO 1 SI EXISTE d: \test\123.rar GOTO 2:2 "C:\Program Files\WinRAR\winrar.exe" x -O+ -IBCK d:\test\123.rar c:\ del d:\test\123.rar:1 del d:\test\test.rar end

Ahora explico, digamos que necesita descomprimir el archivo test.rar, que tendrá muchos archivos, pero si hay un archivo 123.rar, deberá descomprimirse en la raíz de la unidad C, y el resto de los archivos permanezcan intactos en el mismo directorio.

En orden, se necesita el comando @echo off para que nada se refleje en la pantalla ( en principio, si no lo necesita, no puede escribir esta línea). A continuación, winrar se inicia y desempaqueta el archivo test.rar en la carpeta de prueba. Luego viene la condición si en la carpeta de prueba ( después de descomprimir test.rar) no tenemos el archivo 123.rar, luego solo hacemos que la ejecución del archivo por lotes vaya a la línea: 1 y luego el archivo test.rar simplemente se elimina porque no es necesario. todo lo que necesitamos ya lo hemos desempacado. Pero si el archivo 123.rar está ahí, entonces la ejecución del archivo por lotes va a la línea: 2, después de lo cual el archivo 123.rar ya está desempaquetado en la raíz de la unidad C. En otras palabras, tenemos la condición, si hay un archivo, entonces haz esto, si no hay un archivo, haz esto. Digamos, si no escribe una condición en este ejemplo, nuestro archivo por lotes dará un error, entonces cuando no tengamos el archivo 123.rar en esta carpeta.

Y ahora veamos un ejemplo, supongamos que necesita mover archivos de un directorio ubicado en el disco D a una unidad flash USB cada vez. Cada vez que tenga que ir a la unidad D de mi computadora, seleccione la carpeta deseada, seleccione todos los archivos y córtelos, y luego simplemente vaya a la unidad flash USB y péguela. Con la ayuda de un archivo por lotes, esto se hace con un solo clic ( con la condición de que la unidad flash cada vez sea, por ejemplo, el disco G o lo que sea que tengas). Aquí hay un ejemplo de un archivo por lotes de este tipo:

Mover "D:\catalog\*.doc" G:\catalognaflehe\

Y todos los archivos con la extensión doc que se encuentran en el directorio D:\catalog se moverán a la unidad flash USB. Ahora quiero decir que puede usar scripts en archivos por lotes ( guiones) mediante Windows Scripting Host y, si es necesario, por ejemplo, para mostrar un mensaje después de copiar los archivos ( ejemplo anterior) pega esto:

echo var WSHShell = WScript.CreateObject("WScript.Shell"); > %temp%\mes.js echo WSHShell.Popup("Archivos copiados"); >> %temp%\mes.js inicio %temp%\mes.js deltree /y %temp%\mes.js

De hecho, puede hablar mucho sobre la escritura de archivos por lotes y, por supuesto, esto no puede caber en un artículo, aquí solo mostré los principios que se utilizan al escribir. archivos de murciélago, por así decirlo, la base. Si desea conocer más comandos para escribir archivos por lotes, puede verlos fácilmente escribiendo ( Inicio - Ejecutar - cmd) comando de ayuda, pero, por supuesto, no todos los comandos que se pueden usar en archivos por lotes. Buena suerte escribiendo archivos BAT ( archivos por lotes).

 
Artículos en tema:
descargar programa para escaner hp
Procedimiento de actualización y descarga manual: Este controlador de escáner HP integrado debe estar incluido con el sistema operativo Windows® o estar disponible para su descarga a través de Windows® Update. El controlador incorporado admite funciones básicas
Negocios a base de sangre o cómo las fuerzas de seguridad ganan dinero con
“Nya. Adiós” y dos fotos frente a un tren de carga: esta es la última entrada en el muro de VKontakte de Rina Palenkova, de 16 años, quien se arrojó debajo de un transporte ferroviario en Usuriysk. Uno de los suicidios más misteriosos se ha convertido en un hecho real para Runet
Twitch: ¿qué es y cómo funciona?
La transmisión de videojuegos hoy en día es una actividad popular entre los jóvenes que "viven" en la red. El servicio de transmisión de Twitch te permite ver en tiempo real cómo otras personas juegan videojuegos en una computadora o consola, mientras comentan el proceso. calle
Descargar controladores para la placa base ASRock
Sugerencia técnica: la actualización manual de los controladores requiere algunas habilidades informáticas y paciencia. Una opción más rápida y fácil es usar para escanear su sistema de forma gratuita. La utilidad le indica qué controladores específicos están desactualizados para todos sus dispositivos. Paso 1 - Descargar