现在的位置: 首页 > 综合 > 正文

windows_批处理指令_自己测试程序

2014年02月08日 ⁄ 综合 ⁄ 共 1322字 ⁄ 字号 评论关闭

@echo off
set a=5
set /a a=a+1
echo "测试加法运算符,a=%a%"
set /a a=a/3
echo "测试除法运算符,a=%a%"
set /a a=a*3
echo "测试加乘法运算符,a=%a%"
set /a a=a-3
echo "测试减法运算符,a=%a%"
echo "------测试运算符运算处理:二元运算符赋值需要set /a ,否则会复用到其它功能指令------"

if %1 ==a echo "判断输入参数a正确"
if %2 ==b echo "判断输入参数b正确"
if %3 ==c echo "判断输入参数c正确"
echo "-----测试输入参数:if判断输入参数,new2.bat 需要输入参数-----"

if %1 ==a goto titlea
if %2 ==b goto titleb
if %3 ==c goto titlec

:titlea
 echo "跳转到titlea"
 goto end
:titleb
 echo "跳转到titleb"
 goto end
:titlec
 echo "跳转到titlec"
 goto end
:end
 echo goodbye
echo "测试goto指令:跳转到标号处,如果没有goto end则会从标号处继续执行程序"

::例2,
::@echo off
::for /l %%i in (1,1,5) do (
::   set var=%%i
::    echo %var%
::)
::pause
::
::执行后会显示5个空行的错误提示!为什么?根据我们上面说的知识来理解。
::
::  通过这两个例子,大家应该已经理解,如果只有环境变量扩展这个过程的话,如果我们在可以嵌套命令的命令中执行
::赋值操作时,会让我们的BAT出现给变量赋值的问题.那么这个时候"延迟环境变量扩展",这个概念就被提出来了。
::
::  在批处理中,我们可以用setloacl enabledelayedexpansion 这个命令来启用"延迟环境变量扩展" ,在我们启用
::了"延迟环境变量扩展"后,当CMD在解释含有嵌套格式的命令时,他会把嵌套的命令一条一条的先执行一次,然后再进
::行匹配操作,这样我们的赋值操作就会完成.并且在"延迟环境变量扩展"启用后,CMD会用!号来判断这是不是一个变量
::。如没启用前变量用%name%这样的格式判断,启用后就用!name!这样的格式判断了,这个符号我们需要注意!
::
::例3,
::@echo off
::setlocal enabledelayedexpansion
::set var=1
::for /l %%i in (1,1,5) do (
::    set /a var =%%i
::    echo !var!
::)
::pause

setlocal EnableDelayedExpansion
for /l %%i in (1,1,5) do (
 set /a tmp[%%i]=%%i*2
 echo  !tmp[%%i]!
)
for %%i in (1,2,3,4,5) do echo %%i
@for %%i in (1,2,3,4,5) do ping 192.168.1.%%i -n 1 -l 16 -w 100 | find "Reply" >> "ping.log"
echo "测试FOR指令:ping "
echo "测试FOR指令:两个指令都可以"

 

pause

抱歉!评论已关闭.