Programa de secuencias de comandos por lotes Bat <1> Conceptos básicos

original

Por mis propios motivos, he estado en casa con mis hijos durante los últimos seis meses y no he escrito un blog en mucho tiempo. Recientemente, necesito copiar y copiar el trabajo de medio tiempo en casa. de repente me interesé y quise estudiar el procesamiento por lotes. Creo que a veces es muy conveniente usarlo.
Cree un nuevo texto directamente, cambie el sufijo a .bat para crear un programa por lotes y luego ábralo con texto para escribir. Después de buscar, descubrí que iBat es un software muy bueno para editar, muy tonto y conveniente, y puede escribir lotes sin manejo de comandos.
Objetivos de aprendizaje: ser capaz de comprender archivos Bat y modificar archivos.



El comando por lotes de DOS es un lenguaje de secuencias de comandos, que se ejecuta línea por línea de acuerdo con el proceso de arriba hacia abajo, es decir, solo después de que se ejecuta el comando de la primera línea, se puede ejecutar la segunda línea, y después de la segunda línea se ejecuta, luego ejecute la tercera línea.


[Básico]   
echo off //Cierre el eco, generalmente escrito al comienzo del lote, lo que indica que solo se muestra el resultado del comando y no se muestra el comando ejecutado. Si @, @echo off se agrega al frente, entonces esto el comando en sí no muestra echo on
//Al contrario del
echo anterior. //Seguido de un punto decimal, muestra una línea en blanco
echo //Espacio seguido de texto, muestra texto
 
rem //Comentario, si el eco está activado, el se mostrará el contenido del comentario
:: //Comentario, el comentario completo no se muestra y se hace eco de  
cd c:\ //Saltar a la unidad C 
/? //Después del comando, /? indicará el uso y parámetros como elección/ ?
>nul //El comando se conecta al final, sin mostrar el resultado y el mensaje de
pausa //Pausa, pantalla, presione cualquier tecla para continuar, pausa>nul no muestra texto
ping //seguido de IP, mostrar 
título de retraso //nombre de la barra de título de la ventana
color 0A //texto verde fondo negro
salir //salir del programa por lotes y salir de la consola CMD
cls //limpiar
nivel de error de pantalla //nivel de error incorporado variable 0 Sin error Error de otro valor
%0 //

Inicio del script en sí /max "" "D:\cloudmusic.exe" //Ejecute el programa con la ventana más grande
echo text>c:\test.txt (text>>c:\test .exe txt) // Crear texto txt > Si el archivo existe, se sobrescribirá >> Si existe, se acumulará y escribirá en

[carpeta]
md (mkdir) c:\carpeta//Crear carpeta (.. \carpeta//Crear por lotes En el directorio de nivel superior donde se encuentra el archivo de procesamiento)
ren (cambiar nombre) c:\carpeta nuevo nombre //cambiar el nombre de la carpeta
rd (redir) /s /qc:\carpeta//borrar el carpeta ( /s eliminar subdirectorios y archivos /q no preguntar)
xcopy /e /yc:\carpeta D:\carpeta\ //copiar carpeta (/e copia todos los subdirectorios, incluidos los directorios vacíos. /y sobrescribe los archivos)
copiar                                                //copiar carpeta

del //eliminar archivo (del 0% se elimina a sí mismo)


【set】

%nombre de variable% //%% es equivalente a una referencia de variable, como echo %time% para mostrar el

conjunto de tiempo actual /p aaa=Ingrese un número: //Solicitar al usuario que ingrese y asigne el valor al
conjunto aaa /a bbb=%aaa% *2 //Ejecuta operaciones matemáticas, bbb es igual a aaa*2


[goto]
goto a //goto comando de salto un nombre de etiqueta especificado para saltar a la posición de la etiqueta y continuar ejecutando el script
: a //Definir la etiqueta
echo Vino con el comando goto Label a
 
goto :eof (el fin de archivo incorporado llega a la última línea del programa, lo que equivale a salir del script Bat actual, pero esperará a que siguiente comando si no sale de la consola CMD) [si] Nota: no hay más


si
existe
c:\learning.txt (echo existe) ELSE (echo no existe) //si existe
si no existe c:\ learning.txt (echo no existe) ELSE (echo existe) //no existe


[& && || | 】
& Conector de declaración compuesta, separando múltiples comandos en una línea de comando
&& Conector de declaración compuesta, el comando después de && se ejecutará solo cuando el comando antes de && tiene éxito.
|| Conector de instrucciones compuestas, cuando el comando anterior a || falla, se ejecutará el comando posterior a ||.
El símbolo de tubería |, la salida del proceso anterior a | se utiliza como entrada del proceso posterior a |.


【Retrasar la ejecución】
1. Debido a que el comando ping se ejecuta una vez por segundo - n representa el número de veces 127.1 es la abreviatura de la dirección de bucle invertido del sistema de red local 127.0.0.1 > nul no muestra el resultado del ping, por lo que la ejecución se retrasa por 5 segundos

ping 127.1>nul -n 5  

2.choice /t Pausa por segundos/d La opción seleccionada después de que se acabe el tiempo/n Ocultar la lista de opciones >nul no muestra el resultado choice /
t 5 /dy /n >nul


ejemplo:

@echo off
rem 这是一行注释,开启回显会显示
:: 这也是一行注释,开启回显也不显示
echo.
echo 现在开始Bat基础学习
echo.

title Bat基础学习
color 0A

pause 

:StartStudy
::清理屏幕
cls
echo.
echo  0.关闭Bat
echo  1.当前时间
echo  2.打开网易云音乐
echo  3.测试延迟
echo  4.创建txt文本
echo  5.文件夹操作

echo.
set /p choice=请选择练习的内容:

if %choice%==0 goto end
if %choice%==1 goto a
if %choice%==2 goto b
if %choice%==3 goto c
if %choice%==4 goto d
if %choice%==5 goto e

rem 0.关闭Bat
:end
exit

rem 1.当前时间
::表示从左向右指针向右偏0位,然后从指针偏移到的位置开始提取8位字符
:a
echo.
echo 当前时间是: %date% %time:~0,8% 
echo.
pause
goto StartStudy

rem 2.打开网易云音乐
::需要修改路径
:b 
echo.
start   /max "" "D:\软件\CloudMusic\cloudmusic.exe"
echo.
pause
goto StartStudy

rem 3.测试延迟
:: 出现错误再次输入IP
:c
set /p ip=请输入要ping的IP:
ping %ip%

if not %errorlevel% == 0 (
   echo.
   echo Ping对方的IP出现错误
   goto a
)
echo.
pause
goto StartStudy

rem 4.创建txt文本
:d 
echo.
set /p txtPath=请输入要创建的文本路径: 
set /p txtName=请输入要创建的文本名:
set /p txtContent=请输入文本内容:
echo.
echo %txtContent% >> %txtPath%/%txtName%.txt  &&  echo 创建成功! || echo 创建失败!

echo.
pause
goto StartStudy

rem 5.文件夹操作
::需要修改路径
:e 
::创建文件夹
echo.
echo 开始创建文件夹 

if not exist F:\我的文件夹 (
md  F:\我的文件夹 &&  echo F:\我的文件夹 创建成功! || echo 创建失败!
)else (
 echo 已经存在 F:\我的文件夹,不需要创建!
)
echo.

::延迟3秒 重命名文件夹
echo 按下任意键,将在3秒后把 我的文件夹 改名为 我的改名文件夹
pause>nul
ping 127.0.0.1>nul -n 3 
ren F:\我的文件夹 我的改名文件夹 && echo 改名成功! || echo 改名失败!

::延迟3秒 复制文件夹 /e 复制所有子目录,包括空目录。/y 覆盖文件
echo 按下任意键,将在3秒后把 我的改名文件夹 复制到 D盘 下
pause>nul
choice /t 3 /d y /n >nul
xcopy "F:\我的改名文件夹" "D:\我的改名文件夹\" /e /y && echo D:\改名后的文件夹 复制成功! || echo 复制失败!

::延迟3秒 删除文件夹 /s 是否删除子目录 /q 是否询问
echo 按下任意键,将在3秒后删除创建的文件夹
pause>nul
ping 127.0.0.1>nul -n 3
rd /s /q D:\我的改名文件夹 && rd /s /q F:\我的改名文件夹  && rd /s /q F:\我的文件夹 &&  echo 删除成功! 

echo.
pause
goto StartStudy

Descarga del guión:

http://download.csdn.net/download/u012322710/10190451


Supongo que te gusta

Origin blog.csdn.net/u012322710/article/details/78924578
Recomendado
Clasificación