wp231957 发表于 2023-2-7 16:19:52

微代码之-------dos脚本 模拟函数 模拟或条件

@echo off
setlocal enabledelayedexpansion

call:myadd11 22
echo %errorlevel%
goto end

rem 模拟函数的例子
:myadd
setlocal
    set /A t=%1 + %2
    set /A m=!t! %%7
    exit /b !m!
endlocal   

:end   
rem模拟二维数组初始化
for /l %%i in (0,1,5) do (
    for /l %%j in (0,1,5) do (
      rem set /a t=%%i*%%j
      set t[%%i][%%j]=0
    )
)

rem 输出二维数组
for /l %%i in (0,1,5) do (
    for /l %%j in (0,1,5) do (
      set /p =!t[%%i][%%j]!    <nul
    )
    echo.
)

rem 模拟 或 条件
rem dos脚本不支持 或 这个东东
rem 场景演示,在1-100中输出 7或8的倍数
set /a flag=1
for /l %%i in (1,1,100) do (
    set /a m=%%i %% 7
    set /a n=%%i %% 8
    if !m!==0set /a flag=0
    if !n!==0set /a flag=0
    if !flag! ==0set /p= %%i<nul
    set /a flag=1
)


运行结果演示:

D:\wpp>func
5
0    0    0    0    0    0
0    0    0    0    0    0
0    0    0    0    0    0
0    0    0    0    0    0
0    0    0    0    0    0   
0    0    0    0    0    0
781416212428323540424849566364707277808488919698
D:\wpp>

页: [1]
查看完整版本: 微代码之-------dos脚本 模拟函数 模拟或条件