Te da una información muy detallada, puedes hacerlo tú mismo.
¿Cómo crear un archivo por lotes?
No te sientas orgulloso después de escuchar el documento de aprobación. En realidad es muy simple. ¿Has usado alguna vez el Bloc de notas? ¿segunda mano? DE ACUERDO Abra el Bloc de notas sin escribir nada, luego seleccione el archivo y guárdelo. Seleccione Todos los archivos como tipo de guardado y los archivos se denominarán *. bat, representa el nombre del archivo. Puedes tomar lo que quieras. Después de guardar, mire la ubicación para guardar y aparecerá un ícono con un engranaje amarillo en la ventana blanca. Este es el archivo por lotes que creó. Al hacer doble clic en él, se ejecutará, pero aún no ha ingresado ningún comando. Entonces no hace nada mientras corre. Cuando queremos agregar algo a esto*. bat, simplemente haga clic derecho en él, seleccione editar y luego podremos abrir el Bloc de notas e ingresar comandos.
¿Qué comandos hay en el archivo por lotes?
Los comandos en el archivo por lotes pueden entenderse como comandos DOS por el momento, que se explicarán más adelante. El procesamiento por lotes, como sugiere el nombre, son muchas cosas apiladas para su procesamiento. En otras palabras, escriba una serie de comandos DOS y luego ejecútelos uno por uno. El efecto es el mismo que escribir el comando DOS en cmd. Una vez que haya terminado de escribir en el lote, haga doble clic en él para ejecutarlo. No es necesario que escriba comandos una y otra vez. Este es un archivo por lotes.
Además de ejecutar comandos DOS, también puede admitir la estructura de selección if, estructura de bucle for, goto, etc. , algo similar a C, pero mucho menos completo que C, y el lenguaje de escritura es muy irregular.
Sintaxis de procesamiento por lotes:
Hablemos primero del @echo off más básico
Echo significa ciclotrón, aquí está el significado de echo, echo off significa cerrar El significado del eco. La @ delante significa que el eco fuera de línea no se repetirá. Puedes intentar eliminar @ y toda la línea. Otra función de @ es reanudar automáticamente el eco del comando después de ejecutar el archivo por lotes. Si la primera oración es ECHO OFF, el símbolo del sistema no se mostrará después de ejecutar el archivo por lotes.
Por ejemplo, primero creemos un 1. bat, ingresaremos:
Luego, el directorio se guarda en c:\. Luego ejecutamos cmd, ingresamos al directorio raíz de la unidad c, ingresamos 1.bat y se mostrará:
directorio c:\gt
El volumen en la unidad c no tiene. etiqueta.
El número de serie de este volumen es 0C5D-07FF.
C:\Directorio
Este es un buen ejemplo. Ventana DIR gt
25 de agosto de 2004 00:51 lt; documentación y configuración de DIR gt
.......
C:\
Si el contenido de 1. El murciélago se transforma en
Echo
Directorio
Luego ingresa 1.bat en cmd y se mostrará.
c:\gt;Echo off //Debido a que se ejecuta Echo off, el comando dir no se muestra y los resultados se muestran directamente.
El volumen de la unidad c no tiene etiqueta.
El número de serie de este volumen es 0C5D-07FF.
C:\Directorio
Este es un buen ejemplo. Ventana de DIR gt
25 de agosto de 2004 00:51 lt; documentación y configuración de DIR gt
.....
C:\ p>
Si el archivo 1.bat se modifica a:
@ Close Echo
Directorio
Se muestra como:
c :\gt;1.bat //La diferencia con respecto a antes es que el eco desactivado no se muestra porque se agrega @, por lo que el contenido después de @ no se muestra.
el eco está desactivado, por lo que los comandos posteriores no se muestran y los resultados se muestran directamente.
El volumen de la unidad c no tiene etiqueta.
El número de serie de este volumen es 0C5D-07FF.
C:\Directorio
Este es un buen ejemplo. Ventana de DIR gt
25 de agosto de 2004 00:51 lt; documentación y configuración de DIR gt
....
C:\
A través de la comparación anterior, creo que domina completamente el comando de desactivación de eco. Ahora es la 1... ¡es tan agotador escribir! ! ! Me di una ducha y me fui a la cama.
-
Me detuvieron a las 6 de la mañana... No tengo suerte, sigue escribiendo.
-
El siguiente paso es llamar al comando:
Llamar significa hacer una llamada, no "Oh, mierda":). Una llamada telefónica es una llamada telefónica. Si hay dos archivos por lotes, a.bat y B.bat, y quiero ejecutar B.bat en medio de a.bat, ¿cómo puedo ejecutarlo? En realidad es muy simple. Siempre que ingrese el comando de llamada en el archivo a.bat, puede ejecutar b.bat mientras se ejecuta a.bat y continuar ejecutando a.bat después de que finalice b.bat.
Formato de comando de llamada:
Llamar a [unidad:][ruta]nombre de archivo[parámetros de lote]
Los parámetros de lote especifican el programa por lotes requerido Información de línea de comando .
Por ejemplo, creamos un archivo .bat en el directorio raíz de la unidad c con el siguiente contenido:
Echo this is a bat
Llamar d :\ b.bat
El eco está completo
Luego crea b.bat en el directorio raíz de la unidad D con el siguiente contenido:
Aiko, esto es el bat
Después de guardar, abra cmd, ingrese el directorio raíz de la unidad c y luego ingrese 1.bat, como se muestra a continuación:
c:\gt
c:\gt; echo Esto es un murciélago
Esto es un murciélago
c:\gt call d:\b.bat
c:\gt; Echo , este es el murciélago
Este es el murciélago
c:\gt;echo hecho
completado
Es fácil de ver en el ejemplo. Primero ejecute el contenido de a.bat, llame a b.bat y luego llame a b.bat, ejecute b.bat y regrese a a.bat, luego ejecute la declaración echo done después de llamar a b.bat, hasta que se ejecuten todos los contenidos de a.bat.
Nota: Existe un [parámetro de lote]. Estaría agradecido si mis amigos pudieran decirme.
Comando Pausar
Pausa la ejecución de un programa por lotes y muestra un mensaje que solicita al usuario que presione cualquier tecla para continuar la ejecución. Este comando sólo se puede utilizar en programas por lotes.
Comando Rem:
Indica que los caracteres que siguen al comando son líneas de explicación (comentarios), que no se ejecutan y son solo para referencia futura (equivalente a comentarios en el programa).
Al mismo tiempo, se pueden utilizar dos dos puntos en lugar de rem. Por ejemplo, :: es equivalente a REM. Pero hay una diferencia entre los dos, es decir, si usa:: como comentario, no se repetirá, incluso si escribe echo para forzar el eco. Al mismo tiempo, REM puede agregar comentarios en config.sys.
Sintaxis: rem[commnet]
Parámetros del archivo por lotes:
Todos los que se han vuelto un poco básicos saben que las funciones tienen parámetros. Los archivos por lotes también tienen parámetros.
Por ejemplo, espero que pueda ayudar a personas sin conocimientos lingüísticos a entenderlo bien.
Primero déjame darte un ejemplo. Primero, cree un archivo por lotes A. bat en el directorio raíz de la unidad c e ingrese el contenido.
echo 1
Luego abra cmd, ingrese al directorio raíz de la unidad c e ingrese: a "Este es un libro roto".
Los resultados son los siguientes:
c:\gt;a.bat "Esto es una prueba"
c:\gt;echo "Esto es una prueba"
"Esto es una prueba"
En la entrada A "Este es un libro roto", A es el nombre del archivo A del a.bat recién creado (el último. bat se puede escribir No es necesario escribirlo), la oración después de A "Este es un libro roto" es el parámetro. Los parámetros escritos aquí se colocarán automáticamente en el programa por lotes cuando se ejecute el programa. ¿Dónde está colocado? Simplemente ponlo en 1.
Mirando este ejemplo, veamos la definición completa de parámetros:
Los archivos por lotes también pueden usar parámetros como funciones en lenguaje C (equivalente a los parámetros de línea de comando de los comandos de DOS) , requiere una expresión de parámetro "".
[1-9] representa un parámetro, que se refiere a una cadena separada por espacios (o tabulaciones) que se agrega después del nombre del archivo al ejecutar el archivo por lotes. La variable puede variar de 0 a 9, 0 representa el comando por lotes en sí y otras cadenas de parámetros se representan en el orden de 1 a 9. // En el ejemplo de nuestro programa anterior, hay 1, que es un parámetro. Ingrese "Esto es una prueba" y colóquelo directamente en la posición 1, para que el programa se convierta en eco "Esto es una prueba".
Algunos ejemplos más para ayudarle a comprender:
c: el siguiente archivo por lotes en el directorio raíz se llama b.bat y su contenido es el siguiente:
@Close echo
Tipo 1 //tipo es un comando de salida en dos, que se puede utilizar para generar el contenido de un archivo de texto. Por ejemplo, creamos un nuevo archivo 1.txt.
//Introduce el contenido y guarda. Ingrese cmd. Si ingresa 1.txt, no podrá leer el contenido del archivo 1.txt, pero ¿qué pasa si
//quiero leerlo? En este momento, puede usar el comando de tipo. Simplemente ingrese el tipo 1.txt en cmd y se mostrará.
///Archivo 1.txt.
Escriba 2
Luego ejecute C:\gt;Business English
1: representa a.txt
2: representa b. txt
Entonces el comando por lotes anterior se convierte en
@turn off echo
tipo a.txt
tipo b.txt
Entonces, el comando anterior mostrará el contenido de los archivos a.txt y b.txt en secuencia.
Las personas sin conocimientos de programación pueden preguntar, ¿por qué necesitamos obtener un parámetro? ¿Qué tan problemático es agregar un parámetro más tarde? ¿Por qué no lo escribes? ! De hecho, este enfoque tiene aspectos tanto correctos como incorrectos. Pongamos un ejemplo para ilustrar.
El primer paso es crear un nuevo archivo por lotes en el directorio raíz de la unidad c. Todavía lo llamamos a.bat. El contenido de entrada es el siguiente:
ping 1. // El comando ping puede entenderse simplemente como probar si una máquina está encendida. Si está encendida, le enviará una respuesta.
Luego ingresa cmd. Queremos probar si el servidor 163 está abierto, así que ingrese www.163.com
Para aquellos que conocen el comando ping, pueden hacer ping para verificar, pero ¿qué pasa si aquellos que quieren hacer ping no lo hacen? ¿Sabes utilizar el comando ping? En este momento, puede ingresar el comando en el archivo por lotes con anticipación, guardarlo y luego pedirle a alguien que no sepa cómo usarlo que ingrese cmd para ejecutar su archivo por lotes y simplemente agregar la URL a la que desea hacer ping después. el nombre del archivo. En otras palabras, si quiere hacer ping a 163, puede agregar directamente la dirección del sitio web de 163; si quiere hacer ping a Sina, puede agregar directamente la dirección del sitio web de Sina. De esta manera sólo necesita ingresar un parámetro sin cambiar el programa en sí.
Este es un comando de ping simple. Puede pensar que usar parámetros no es rentable o simplemente puede cambiarlos directamente. Pero, ¿qué pasa si hay muchos programas y no encuentras un lugar para cambiarlos todos a la vez? Entonces, no importa si es el hermano Cai, el hermano Cai, la hermana Cai o la hermana Cai, siempre que ejecute e ingrese los parámetros, los resultados aparecerán por sí solos.
No es necesario pensar en cómo escribir archivos por lotes como lo hace usted. Las personas solo necesitan saber qué ingresar para ejecutar el programa por lotes, y el escritor debe permitir que las personas que no entienden de programación ejecuten el programa.
Los parámetros de lote son así de simples. ¿No sé si entiendes? Sin embargo, si desea saber más sobre los parámetros de procesamiento por lotes, puede continuar leyendo. Si no quieres saber más, esto es suficiente por ahora.
El siguiente contenido rosa es información en línea.
=====================================
Debido a que los parámetros son solo del 1 al 9, cuando queremos hacer referencia al décimo o más parámetros, debemos mover el puntero inicial del parámetro DOS. El comando shift desempeña la función de mover el puntero, moviendo el puntero inicial del parámetro al siguiente parámetro, similar a las operaciones de puntero en lenguaje C. El cuadro es el siguiente:
En el estado inicial, cmd es el nombre del comando y se puede hacer referencia a él mediante 0.
cmd arg 1 arg 2 arg 3 arg 4 arg 5 arg 6 arg 7 arg 8 arg 9 arg 10
^ ^ ^ ^ ^ ^ ^ ^ ^ ^
línea de amplificador;línea de amplificador;línea de amplificador;línea de amplificador;línea de amplificador;línea de amplificador;línea de amplificador;línea de amplificador;línea de amplificador;línea de amplificador;línea de amplificador;
0 1 2 3 4 5 6 7 8 9
Después de cambiar 1, no se puede hacer referencia a cmd.
cmd arg 1 arg 2 arg 3 arg 4 arg 5 arg 6 arg 7 arg 8 arg 9 arg 10
^ ^ ^ ^ ^ ^ ^ ^ ^ ^
línea de amplificador;línea de amplificador;línea de amplificador;línea de amplificador;línea de amplificador;línea de amplificador;línea de amplificador;línea de amplificador;línea de amplificador;línea de amplificador;línea de amplificador;
0 1 2 3 4 5 6 7 8 9
Después de dos turnos, arg1 también se descarta y el punto 9 está vacío y no tiene significado de referencia.
cmd arg 1 arg 2 arg 3 arg 4 arg 5 arg 6 arg 7 arg 8 arg 9 arg 10
^ ^ ^ ^ ^ ^ ^ ^ ^ ^
línea de amplificador;línea de amplificador;línea de amplificador;línea de amplificador;línea de amplificador;línea de amplificador;línea de amplificador;línea de amplificador;línea de amplificador;línea de amplificador;línea de amplificador;
0 1 2 3 4 5 6 7 8 9
Desafortunadamente, win9x y DOS no admiten la operación inversa de turno. Solo en el entorno de línea de comando del kernel nt, shift admite el parámetro /n y el puntero inicial se puede mover hacia atrás según el primer parámetro.
==================
Si vas a Opciones de sintaxis avanzadas
Eso es todo por hoy. Voy a hacer las maletas y volver a la escuela. Quizás si goto elige una sintaxis avanzada, se hará en Shenyang. Deséame suerte.
======================
El “Cibercafé” de la escuela finalmente ha reabierto, así que date prisa y consigue el resto. Terminemos de comer.
Comando If
Para decirlo sin rodeos, if es equivalente a if en nuestra lengua vernácula.
Por ejemplo: si a A le gusta B, entonces A se casará con B. Simplemente traduzca esta oración al lenguaje informático.
Si a a le gusta b, debe casarse con b.
Por supuesto, la computadora no puede entender las dos oraciones A le gusta B y A se casará con B. Aquí hay solo ejemplos para su conveniencia.
La sentencia If I * * * tiene tres modos, de la siguiente manera:
IF [NOT] cadena1==cadena2 comando
Si [no existe] archivo comando de nombre
IF [NOT] ERRORLEVEL comando de número
NOT especifica que Windows XP debe ejecutar este comando sólo si la condición es falsa.
Número ERRORLEVEL La condición especificada es verdadera si la última ejecución del programa devuelve un código de salida igual o mayor que el número especificado.
Cadena1==cadena2 Si la cadena de texto especificada coincide, la condición especificada es verdadera.
Si el nombre de archivo especificado existe, la condición especificada es verdadera.
Comando especifica el comando que se ejecutará si se cumplen las condiciones. Si la condición especificada es FALSA, el comando puede ir seguido de un comando ELSE, que se ejecuta después de la palabra clave ELSE.
Explique el primero primero:
IF [NOT] string1==string2 comando
Significado de la declaración natural: Si String1 == String2, entonces ejecute el comando .
Aquí hay otra declaración if que se puede utilizar en la práctica.
Afirmación natural: Si el parámetro de entrada es 3, se mostrará "A = 3".
Declaración de computadora:
@turn off echo
Si "1" == "3" echo "a=3"
O escriba
@Close echo
Si 1==3, entonces echo "a=3"
Nota: al realizar la prueba, debido a que en cmd, ingrese 1 .bat3 Debido a que aquí se utilizan parámetros de paso, consulte "Parámetros de archivos por lotes" en la parte anterior del artículo para obtener más detalles.
Segundo tipo:
Si [no existe] comando de nombre de archivo
Este lenguaje de comandos detecta si el archivo existe. Si existe, ejecute el comando. Si no existe, no se muestra nada.
Por ejemplo, queremos comprobar si hay un archivo llamado 2.txt en el directorio raíz de la unidad E. Si existe, mostrará EXIST. Si no existe, no se mostrará nada.
El comando de procesamiento por lotes es el siguiente:
@Close echo
Si e:\2.txt existe echo "2.txt existe"
El tercer tipo:
IF [NOT] comando numérico ERRORLEVEL
Cité cierta información sobre esto y siento que otros la han escrito con más detalle. La parte de la cita es rosa:
if errorlevel lt number>Comando a ejecutar
Muchos programas de DOS devolverán un valor numérico para representar el resultado (o estado) del programa después de ejecutarlo . Puede utilizar el comando if errorlevel para determinar el valor de retorno del programa y ejecutar diferentes comandos en función de diferentes valores de retorno (los valores de retorno deben organizarse en orden descendente). Si el valor de retorno es igual al número especificado, la condición es verdadera y se ejecuta el comando; de lo contrario, se ejecuta la siguiente oración.
Por ejemplo si el nivel de error 2 pasa a x2.
= = = =Nota= = = = = = = = = = =
El orden de los valores de retorno de mayor a menor no es necesario, pero es solo una El uso común al ejecutar comandos es goto. Cuando set se utiliza como comando de ejecución, generalmente se organiza de pequeño a grande.
Por ejemplo, para colocar el código de retorno en una variable de entorno, usaría el siguiente orden:
Si el nivel de error es 1, establezca el=1
Si el nivel de error es 2, establezca el= 2
Si el nivel de error es 3, establezca el=3
Si el nivel de error es 4, establezca el=4
Si el nivel de error es 5, establezca el =5
...
Por supuesto, también se puede reemplazar con el siguiente bucle, el principio es el mismo:
Para e en (1 234 5677 8...)do si el nivel de error e establece El = e//Este es un bucle for, que se presentará más adelante. Si no lo entiende, puede omitirlo primero.
Si errorlevel compara el código de retorno, la condición de juicio no es igual, sino mayor o igual. Debido a las características de salto de goto, ordenar de pequeño a grande provocará saltos en códigos de retorno más pequeños; sin embargo, debido a las características de asignación "repetida" del comando set, ordenar de grande a pequeño hará que se "cubran" códigos de retorno más pequeños; "más Código de retorno grande.
Además, aunque si nivel de error = Comando también es una línea de comando válida, es solo que command.com ignora = como separador de línea de comando al interpretar la línea de comando.
Comando Seleccionar
Comando Ir a
Comando For
El comando for es en realidad un comando de bucle. Si queremos repetir una declaración, podemos usar el comando for. A través del comando for, podemos controlar el número de bucles, etc.
Sintaxis:
Ejecutar el comando [comando-parámetro] en la variable en (set)
variable especifica un parámetro reemplazable de una sola letra.
(set)Especifica un archivo o un grupo de archivos. Se pueden utilizar caracteres comodín.
Comando especifica el comando que se ejecutará para cada archivo.
Parámetros de comando
Especifique parámetros o modificadores de línea de comando para un comando específico.
Cuando utilice el comando FOR en un archivo por lotes, utilice variable para especificar la variable.
En lugar de una variable. Los nombres de las variables distinguen entre mayúsculas y minúsculas, por lo que i es diferente de i.
No sé si lo entiendes, pero en realidad es fácil de entender. Pongamos un ejemplo. Quiero usar tipo para imprimir todos los archivos bat y txt en el directorio raíz de la unidad c. Orden dada. dos es tipo *. murciélago*. TXT. Primero, guarde el archivo en el directorio raíz de la unidad C con el nombre de archivo a.bat
Utilice el comando for de la siguiente manera:
For t in (*.bat*.txt ) escriba t
t en realidad representa un parámetro, su contenido está entre corchetes en in(). En otras palabras, la t en esta oración se convierte en *. bat *.txt Do significa hacer, el tipo va seguido de t y t es *. bat *.txt Entonces el significado original de este comando es
Escriba *. murciélago*. Archivo de texto (archivo de texto)
Ingrese cmd al ejecutar y luego ingrese a.bat en el directorio raíz de la unidad c para imprimir todo el contenido del archivo con la extensión. Murciélagos y. txt está en el directorio raíz de la unidad c.
Nota aquí: hay un espacio después de in.
La extensión del comando for se usa en XP, por lo que la función de for se vuelve más poderosa. Hablemos de un ciclo real.
Variable FOR/L IN (inicio, paso, fin) comando DO [parámetro-comando]
Este conjunto representa una serie de números que aumentan de principio a fin.
Por lo tanto, (1, 1, 5) producirá la secuencia 1 2 3 4 5 y (5, 1, 1) producirá.
Secuencia (5 4 3 2 1)
El primer 1 está en la posición inicial, indicando la posición inicial, y el segundo 1 está en la posición de paso, que en inglés significa dando un paso. En este caso, significa que cada incremento es 1. El 5 a continuación está en la posición final, indicando el tamaño del final.
Esta oración significa aumentar desde 1 (inicio), aumentar de 1 (paso) a la vez, hasta 5 (final).
¿De qué sirve esto? De hecho, creo que esto sigue siendo muy útil. Para el ejemplo más simple, queremos repetir la frase "Soy el mejor" 10 veces. Entonces el comando for es el siguiente:
Para /L e en (1, 1, 10), el eco "Soy el mejor"
En este momento, cmd repetirá ingresa "Soy el mejor" 10 veces.
============================================ === ====
¿Has leído el artículo completo? Bien... Escribir no es fácil para mí...
No sé cuál es la comprensión que todos tienen del murciélago ahora. Mi sensación actual es que bat es una combinación de comandos DOS. Todos los comandos DOS se escriben como comandos bat. Siempre que ejecute bat, los comandos DOS se ejecutarán uno por uno, lo que sin duda proporciona mucha comodidad.
Déjame darte algunos ejemplos más.
Elimina el * * * predeterminado y disfruta:
No sé cuánto sabes sobre el * * * predeterminado, pero este es un peligro oculto. La única solución ahora parece ser eliminar un archivo bat. El comando se ve así:
Net share IPC $/delete
Net share admin fee/delete
Net share $c/delete
Net share d $/delete
Net share e $/delete
......
El c d e dentro es la letra de su unidad. Si solo hay una partición, escriba net share c$ /delete. Si tiene n particiones, escríbalas una por una.
Participación neta d$/eliminar
Participación neta e$/eliminar
Participación neta f$/eliminar
Participación neta g$ /Eliminar...
El acceso directo para iniciar sesión en la LAN (la máquina de la otra parte tiene una contraseña y es un sistema de 2000 o superior).
Net usando \\ 192.168.0.1[contraseña]/usuario:[nombre de usuario]
Navegador\\192.168.0.1
Registro de copia de seguridad de archivos Bat
Establecer regfile=fecha //Establecer variables, el siguiente archivo de registro reemplazará automáticamente "la fecha de hoy".
Ir al final si existe 'regfile' //Si se encuentra un directorio con el nombre de la fecha de hoy, salte al final del archivo.
Md temporal //Crear un directorio temporal
Llamar a 1.bat //Llamar a 1.bat.
Del1.bat
Ren 1.bat
Ren 3. Bat 2. Bat
Ren
echo move "regfile" temp >4.bat //Escribe un archivo bat para mover el "directorio nombrado por fecha" a temp.
Md "regfile" //Crea un directorio nombrado por fecha el mismo día.
CD "regfile" //
Reg export hkcu hkcu.reg //Exportar registro
Exportar hklm hklm.reg
/ /HKEY _abreviatura_actual_usuario hkcu. Almacena los datos personales del usuario actual.
//HKEY_LOCAL_MACHINE abreviatura hklm.
Los datos centrales del sistema
Disco láser.
del tree/y temp gt;nul///Regrese al directorio principal y elimine la carpeta temporal.
:Fin