bat中变量设置和使用

bat中变量设置和使用,第1张

定义变量   :   set  name = “yingying”         ----  等号左边不允许有空格,等号右边的所有包括空格会全部赋值给变量。

调用变量 :   %name%     ----用%将要调用的变量包起来就可以调用此变量

%%name表示name为 for 里面的 循环变量

!name!表示 延迟变量(在复合语句中用到,挖坑)

@echo off

setlocal EnableDelayedExpansion

::从 file.txt 中读取文本

set /p str=<file.txt

::显示文本

echo %str%

::创建用于储存长度的变量

set /a len=0

::获取 str 变量的长度 储存到 len 中

call :strlen len str

::显示文本长度

echo 文本长度 = %len%

::生成从[0到len)的随机数

::  先创建随机数(0~65535)

set rand=%random%

::  显示随机数

echo 随机数 = %rand%

::  将随机数与len求余数(对于有5个字的文本会生成[0,4]的区间)

set /a choose=%rand%%%%len%

::  显示选择的数字

echo 选择第 %choose% 个索引(0表示第1个字,1表示第2个字)

::显示文本中根据随机数选择的字符(截取

echo !str:~%choose%,1!

pause

::这里是获取文本总长度的函数

:strlen <resultVar><stringVar>

  (set^ tmp=!%~2!)

  if defined tmp (

      set "len=1"

      for %%P in (4096 2048 1024 512 256 128 64 32 16 8 4 2 1) do (

          if "!tmp:~%%P,1!" NEQ "" (

              set /a "len+=%%P"

              set "tmp=!tmp:~%%P!"

          )

      )

  ) ELSE (

      set len=0

  )

)

(

  endlocal

  set "%~1=%len%"

  exit /b

)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6349534.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-20
下一篇 2023-03-20

发表评论

登录后才能评论

评论列表(0条)

保存