Cómo escribir. ¿murciélago?
El volumen en la unidad c no tiene etiqueta.
El número de serie del volumen es 0C5D-07FFC: Directorio 2004-08-25 00: 45<. /p>
25 de agosto de 2004 00:51 <DIR>Documentos y configuraciones.........c: Si cambia el contenido de 1, bat hace eco en offdir, entonces ingrese 1. Bat en cmd, mostrará C:> Echo off //Debido a que se ejecuta Echo off, el comando dir no se muestra y el resultado se muestra directamente
El volumen en la unidad c no tiene. etiqueta
El número de volumen es 0C5D-07FFC: Directorio 2004-08-25 00:45
25 de agosto de 2004 00:51 <DIR>Documentos y configuraciones.... c: Si 1. el archivo bat se modifica a @echo off.
El directorio se muestra como: C:> //Es diferente al anterior porque no se muestra echo off. Debido a que se agrega @, el contenido después de @ no se muestra. Y debido a que se agrega //echo off, los siguientes comandos no se muestran y los resultados se muestran directamente.
El número de serie del volumen es. 0C5D-07FFC: Directorio 2004-08-25 00:45
25 de agosto de 2004 00:51 <DIR>Documentos y configuraciones...c: Aprobado Según la comparación anterior, creo que lo domina completamente el comando de apagado de eco. Ya es la 1 en punto... ¡Estoy cansado de escribir! Me di una ducha y me fui a la cama; en realidad es un comando muy simple, puedes ejecutarlo mientras se ejecuta b.bat. luego continúe ejecutando un formato de comando .batcall: llamada [unidad:] [ruta] nombre de archivo [parámetros de lote] Los parámetros de lote especifican la información de la línea de comando requerida por el programa por lotes. Por ejemplo, creamos un archivo .bat en la raíz. directorio de la unidad C con el contenido: echo esto es a.bat llama a d: b.batecho hecho y luego crea un archivo .bat en el directorio raíz de la unidad D con el contenido: echo esto es b Después de guardar .bat, abre cmd , ingrese el directorio raíz de la unidad c y luego ingrese 1.bat, como se muestra a continuación: C:>batc:>Echo Esto es un murciélago
Este es un .batc :>Llamar d :b.batc:>Echo, este es bat
Esto es b.batc:>Echo Done
Hecho a partir del ejemplo Es fácil ver que el contenido de un .bat se ejecuta primero y luego se llama a b.bat hasta que se encuentra la llamada b.bat. Después de ejecutar b.bat, se devuelve a.bat y luego se ejecuta la declaración echo done después de llamar a b.bat hasta que se ejecutan todos los comandos por lotes. de a.bat se han ejecutado. Nota: ¿Cuáles son los parámetros en [Parámetros de lote]?
Pausa la ejecución del programa por lotes y muestra un mensaje solicitando 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 a este comando son una línea de explicación (comentario), que no se ejecutará y son solo para su referencia futura (equivalente a comentarios en el programa). También puedes usar dos puntos en lugar de rem. Por ejemplo, :: es equivalente a un rem. Pero hay una diferencia entre los dos, es decir, si usa :: como comentario, no lo repetirá. Incluso si escribe echo on para forzar el eco, es diferente. Al mismo tiempo, rem puede agregar comentarios en la sintaxis de config.sys: rem[commnet] parámetros del archivo por lotes: cualquiera con un poco de conocimiento en programación sabe que las funciones tienen parámetros. Los archivos por lotes también tienen parámetros. Déjame darte un ejemplo. Espero que pueda ayudar a las personas sin conocimientos lingüísticos a entenderlo bien. Permítanme comenzar con un ejemplo. Primero, cree un archivo por lotes a.bat en el directorio raíz de la unidad c, ingrese el contenido echo %1, luego abra cmd, ingrese el directorio raíz de la unidad c e ingrese "Este es un libro roto" para obtener lo siguiente resultados: C:& gt ; a.bat "Esto es una prueba" C:> echo "Esto es una prueba"
En una entrada "Esto es una prueba", a es el nombre del archivo de el a.bat recién creado (este último. bat puede estar escrito o no) y la oración "Este es un libro roto" después de a 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 debería colocarse? Se sitúa en %1. Mirando el ejemplo, veamos cómo se ve 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), lo que 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. El rango de variables puede ser 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, y la entrada "Esto es una prueba" como parámetro se coloca directamente en la posición de % 1, por lo que el programa se convierte en eco "Esto es una prueba". Aquí hay algunos ejemplos más para ayudarlo a comprender: El siguiente archivo por lotes en el directorio raíz C: se llama b.bat y el contenido es el siguiente:
@Close echo
tipo % 1// 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 // y lo ingresamos. Después de guardar, ingresamos cmd. Si ingresa 1.txt, el contenido del archivo 1.txt no se puede leer, pero //¿qué debo hacer si quiero leerlo? En este momento, puede usar el comando type y escribir Type1.txt en cmd para mostrar el contenido del archivo ///1.txt.
Escriba %2
Luego ejecute c:>;Inglés comercial
%1: representa un.txt
%2: representa b.txt, por lo que el comando por lotes anterior se convierte en @echoofftypea.txt typeb.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. Aún lo llamaremos a.bat e ingresaremos el contenido como: ping %1 // El comando ping puede entenderse simplemente como probar si una máquina está funcionando. encendido. Si está activado, le enviará una respuesta. Luego ingresa cmd. Queremos probar si el servidor 163 está abierto, luego podemos ingresar a www.163.com. Las personas que conocen el comando ping pueden hacer ping para verificar, pero ¿qué pasa si la persona que quiere hacer ping no sabe cómo usarlo? 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 dirección del sitio web al que desea hacer ping. después del nombre del archivo. En otras palabras, si quiere hacer ping a 163, puede agregar directamente la URL de 163; si quiere hacer ping a Sina, puede agregar directamente la URL de Sina. De esta manera sólo necesita ingresar un parámetro sin cambiar el programa en sí.
La versatilidad de todo el programa ha mejorado enormemente. Para un comando ping simple, puede decidir que no vale la pena usar los parámetros o 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 sólo necesitan saber qué ingresar para ejecutar el programa por lotes, y el escritor quiere que las personas que no entienden el programa lo ejecuten. Los parámetros por lotes son muy simples. ¿Lo 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. = = = = = = = = = = = = = = = = = = = = = = = Porque el parámetro es solo del 1%. Debe mover el puntero inicial de los parámetros de DOS. El comando shift desempeña la función de mover el puntero, moviendo el puntero inicial de un parámetro al siguiente parámetro, similar a las operaciones de puntero en lenguaje C. El diagrama esquemático es el siguiente: en el estado inicial, cmd es el nombre del comando y %0 puede hacer referencia a él.
cmd arg 1 arg 2 arg 3 arg 4 arg 5 arg 6 arg 7 arg 8 arg 9 arg 10
^ ^ ^ ^ ^ ^ ^ ^ ^ ^
& línea de amp;& línea de amp;& línea de amp;& línea de amp;& línea de amp;& línea de amp;& línea de amp;& línea de amp;& línea de amp;
% 0 %1 %2 %3 %4 %5 %6 %7 %8 %9 no puede hacer referencia a cmd después de 1 turno.
cmd arg 1 arg 2 arg 3 arg 4 arg 5 arg 6 arg 7 arg 8 arg 9 arg 10
^ ^ ^ ^ ^ ^ ^ ^ ^ ^
& línea de amp;& línea de amp;& línea de amp;& línea de amp;& línea de amp;& línea de amp;& línea de amp;& línea de amp;& línea de amp;
% 0 %1 %2 %3 %4 %5 %6 %7 %8 %9 Después de dos cambios, 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 amp;& línea de amp;& línea de amp;& línea de amp;& línea de amp;& línea de amp;& línea de amp;& línea de amp;& línea de amp;
% 0 %1 %2 %3 %4 %5 %6 %7 %8 %9 Desafortunadamente, la operación inversa de cambio no es compatible con win9x y DOS. 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 goto elige sintaxis avanzada, deténgase aquí. Voy a empacar mis cosas y volver a la escuela. Quizás si goto elige gramática avanzada, no podrá completarse hasta Shenyang. = = = = = = = = = = = = = = = Tómese el tiempo para explicar el resto del comando if en términos sencillos. if es equivalente a if en nuestra lengua vernácula. Por ejemplo, si a A le gusta B, entonces A se casará con B. Esta oración está traducida al lenguaje informático. Por supuesto, es imposible que una computadora entienda esas dos oraciones: A le gusta B y A se casará con B. Aquí hay solo un ejemplo para su conveniencia. La declaración if tiene tres modos, de la siguiente manera:
IF [NOT] cadena1==cadena2 comando
Si [no existe] comando de nombre de archivo
Si [no] El comando de número de nivel de error no especifica que Windows XP solo ejecuta el comando si la condición es falsa.
ERRORLEVEL número 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 La condición especificada es verdadera si la cadena de texto especificada coincide. Si el nombre de archivo especificado existe, la condición especificada es verdadera. Comando Especifica el comando que se ejecutará si se cumple la condición. 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. Primero explique el primero: if[not]String 1 == String 2 comando significado de declaración natural: If String1 == String2, y luego ejecute el comando para obtener otra declaración If que realmente pueda usarse. Declaración natural: si el parámetro de entrada es 3, se muestra la declaración de la computadora "A = 3": @ echo off.
Si "%1"=="3" echo "a=3 "o @echo desactivado.
Si %1==3 echo "a=3 "Nota: durante la prueba, porque en cmd, ingrese 1.bat 3. Debido a que aquí se utilizan parámetros de paso, consulte "Parámetros de archivos por lotes" anteriormente en este artículo para obtener más detalles. En segundo lugar, el comando if[no existe] nombre de archivo se utiliza para detectar si el archivo existe. En caso afirmativo, ejecute el comando. Si no existe, no se mostrará 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: @echo off.
IF existe e:2 . txt echo "exist 2 . txt" El tercer tipo: comando numérico IF [NOT] ERRORLEVEL. Cité cierta información y siento que otros la han escrito con más detalle. La parte citada es rosa: si se va a ejecutar un comando de nivel de error, muchos programas de DOS devolverán un valor numérico para representar el resultado (o estado) del programa después de la ejecución. 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 gotox2 = = = NOTA = = = = = = = = = = = = =
No es necesario ordenar los valores de retorno en orden descendente, solo es el modismo para goto para ejecutar el comando. Cuando se utiliza set como comando de ejecución, el orden suele ser descendente. Por ejemplo, si desea colocar el código de retorno en una variable de entorno, debe utilizar la siguiente forma secuencial: si el nivel de error 1 establece 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, set el=4
p>Si el nivel de error es 5, set el=5
... Por supuesto, también puedes usar el siguiente bucle, el principio es el igual:
Para % % e in (12345678...)do if nivel de error % % e set El = % % e//Este es un bucle for, que se presentará más adelante. Si no comprende que el nivel de error no es igual o mayor o igual, omita la condición de juicio de comparar el código de retorno. Debido a las características de salto de goto, ordenar de pequeño a grande dará como resultado códigos de retorno más pequeños. Debido a la naturaleza de asignación "repetida" del comando set, ordenar de grande a pequeño hará que los códigos de retorno más pequeños "cubran" códigos de retorno más grandes. Además, aunque si nivel de error = Comando también es una línea de comando válida, eso es simplemente command.com ignorando = como separador de línea de comando al interpretar la línea de comando.
El comando de elección goto comando para el comando 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: for % variable in(set)docommand[command-parameters]% 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 % 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 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. El nombre es a.bat Utilice el comando for de la siguiente manera: para %%t en (*.bat*.txt), escriba %%t% t es en realidad un parámetro expresado y su contenido está en in() dentro. paréntesis. En otras palabras, %%t en esta oración se convierte en *. murciélago*. TXT. Do significa hacer y ejecutar el comando de tipo. Y %%t es *. bat *.txt Entonces el significado original de este comando es: al escribir *. murciélago*. Se ejecuta txt, ingrese cmd y luego ingrese a.bat en el directorio raíz de la unidad c, puede imprimir todo el contenido del archivo con la extensión. Murciélagos y. txt se coloca en el directorio raíz de la unidad c. Tenga en cuenta que hay un espacio después de in. En XP, la extensión del comando for está habilitada, por lo que la funcionalidad de for cambia.
Para las variables /l% en (inicio, paso, fin)docommand[command-parameters], este conjunto representa la secuencia de números de principio a fin en forma incremental.
Por lo tanto, (1, 1, 5) producirá la secuencia 1 2 3 4 5 y (5, 1, 1) producirá.
En la 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, indicando el paso en inglés. Aquí, 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 desde 65438+. De hecho, creo que esto sigue siendo muy útil. Para el ejemplo más simple, queremos repetir la frase "Soy el mejor" y mostrarla 10 veces. Entonces el comando for es el siguiente: for/l%% e in (1, 1) do echo "Yo soy eso". Cmd escribirá repetidamente "Soy el mejor" 10 veces. = = = = = = = = = = = = = = = = == = = = = = = = = = = = um... no es fácil escribir para mí... No sé ahora qué ¿sabes sobre el murciélago? Mi sensación actual es que bat es una combinación de comandos DOS. Si todos los comandos DOS se escriben como comandos bat, siempre que se ejecute bat, se ejecutarán uno por uno, lo que sin duda proporciona mucha comodidad. Permítanme dar algunos ejemplos más. Eliminar el uso compartido predeterminado: no sé cuánto sabes sobre el uso compartido predeterminado, pero es un peligro oculto. La única forma ahora parece ser eliminarlo como un archivo bat. El comando es el siguiente: net share ipc$ /delete.
Gastos generales netos/eliminación
Participación neta $c/eliminación
Participación neta d$/eliminación
Participación neta $e / Eliminar... El c d e que contiene 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. Net share d $/Eliminar
Recurso compartido de red e $/Eliminar recurso compartido de red f $/Eliminar recurso compartido de red g $/Eliminar... Acceso directo para iniciar sesión en la máquina en la LAN (la otra máquina tiene un contraseña, que es más de 2000 System)net use 192.168 0 1[contraseña]/usuario:[nombre de usuario].
explorer 192.168 0 . 1 configuración del registro de copia de seguridad del archivo bat regfile=%date% //Establezca la variable, si existe la "fecha de hoy" % regfile % "goto end"/Si se encuentra con el directorio nombrado con la fecha de hoy , salta al 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
Loopback 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%" //Ve a reg export hkcu hkcu.reg //Y exporta el registro.
Exportar hklm hklm.reg
//HKEY _current_user abreviatura 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>nul///Regrese al directorio principal y elimine la carpeta temporal.
:Fin