懂bat的进。帮我苗俊青看看代码是什么意思,最好加上详细的解释,分数不是问题,谢谢大家咧!

来源:百度知道 编辑:UC知道 时间:2024/05/17 16:10:53
@echo off&setlocal enabledelayedexpansion&cls&title *-苗俊青-*&color 0f
mode con: cols=80 lines=100
for /l %%a in (1,1,120) do (
if %%a leq 56 set/p=*<nul
if %%a equ 57 set/p=欢<nul&ping -n 1 127.1>nul
if %%a equ 59 set/p=迎<nul&ping -n 1 127.1>nul
if %%a equ 61 set/p=光<nul&ping -n 1 127.1>nul
if %%a equ 63 set/p=临<nul&ping -n 1 127.1>nul
if %%a geq 65 set/p=*<nul
)
set "c=12345689abcde"
echo/
set b=/-\
set 退格=
:b
for /l %%i in (0,1,3) do (
call :a %%i
set /a d=%random%%%13+1
)
goto :b
:a
set/a a=%1%%4
if %a% EQU 3 (set/p= ^| 苗俊青<nul) else set/p= !b:~%a%,1! 苗俊青<nul
ping/n 1 127.1>nul
color 0!c:~%d%,1!
set/p=%退格%<nul
goto :eof

模拟进度:

@echo off
title.
mode con lines=10
rem 进度条 ▉▉▉▉▉
set work=0
set n=0
set

@echo off&setlocal enabledelayedexpansion&cls&title *-苗俊青-*&color 0f
;;启用延缓环境变量扩展名 设置批处理标题为*-苗俊青-* 设置背景颜色为0f

mode con: cols=80 lines=100
;;设置批处理窗口宽和高

for /l %%a in (1,1,120) do (
;;设置变量%%a从1开始,每次递增1,直到120,然后用每次得到的变量值执行do()里的脚本

if %%a leq 56 set/p=*<nul
;;如果变量%%a小于或者等于56的,则设置为*号

if %%a equ 57 set/p=欢<nul&ping -n 1 127.1>nul
;;如果变量%%a等于57的,则设置为欢字

if %%a equ 59 set/p=迎<nul&ping -n 1 127.1>nul
;;如果变量%%a等于59的,则设置为迎字 (因为中文占2格,所以是57-59-61-63)

if %%a equ 61 set/p=光<nul&ping -n 1 127.1>nul
;;如果变量%%a等于61的,则设置为光字

if %%a equ 63 set/p=临<nul&ping -n 1 127.1>nul
;;如果变量%%a等于63的,则设置为临字

if %%a geq 65 set/p=*<nul
;;如果变量%%a大于或等于65的,则设置为*号,直到120个变量走完

)
set "c=12345689abcde"
;;设置变量C为12345689abcde

echo/
;;换行

set b=/-\
;;设置变量b为符号 /-\

set 退格=