函数
1.什么是函数
1. 函数是一段代码
2.通过使用函数,可以实现代码的重复使用,进而可以提高程序的开发效率
2.定义函数的格式
:函数名
函数
goto eof
函数以 :函数名 开头 以 goto eof 结尾
3.函数的调用方法:
call:函数名
...
goto:eof
想要调用函数就是 call:函数名
注意:
1.调用函数【等待函数执行完成以后,才会执行后面的代码】
2.如果没有这个goto的话,那么函数会被执行两次
4.函数的特点:
1.批处理的函数在定义以后,是会被自动执行的
【一定要注意,在各种编程语言,只有批处理的函数会被自动执行,其他的编程语言中的函数,必须 手动调用执行】
注意:
在批处理中,函数的位置,通常都是放到程序的末尾,这是因为批处理的函数会被自动执行 但是在其他的编程语言中,函数的位置可以在开头也可以末尾
执行正常的程序【将函数部分写在最后】
1 @echo off
call:myfunc
call:myfunc
call:myfunc
pause
goto:eof
:myfunc
echo hello world
goto:eof
【函数一定要放到goto:eof的后面,否则函数就会被多执行一次】
基本代码的使用和作用
1.goto:
用于函数或者主程序的跳转,通常的写法都是goto:eof
goto:eof 写的位置不一样,执行的效果就不一样
如果写在函数中,goto:eof 是用于终止函数运行
如果写在主程序中,goto:eof 是用于终止整个程序的运行
@echo off
call:myfunc
call:myfunc
call:myfunc
pause
goto:eof
:myfunc
echo hello world
echo hello world11
goto:eof
echo hello world12
2.call:
用于调用函数,也可以调用别的bat脚本
@echo off
title this is a test
call:fun_test
goto:eof
:fun_test
echo 测试函数+1
pause
goto :eof
3.%errorlevel%:
是脚本内置变量
这个变量的值等于0,表示面命令执行成功
这个变量的值不等于0,表示面命令执行失败
4.>>:
输出重定向 正常情况下,执行命令的时候,命令的输出结果在显示器上进行输出,这个叫做标准输出 通过>> 可以将本来显示在显示器上的内容保存到一个文件中,这就是输出重定向
@echo off
title this is a test
:fun_main
set curdir=c:\
dir /b %curdir%>>testaa.txt
pause
goto :eof
dir /b 指定目录 这个语法可以用于获得指定目录下的所有文件和文件夹
5.屏蔽命令的输出
命令的输出结果有两种
1.屏蔽正确输出结果 >nul
2.屏蔽错误输出结果 2>nul
例子
仅仅屏蔽正确或者错误的输出
echo aaa >nul
ech aaa 2>nul
将正确和错误的输出都屏蔽掉
echo aaa >nul 2>nul
ech aaa >nul 2>nul
nul
nul 称之为黑洞文件,任何内容重定向黑洞文件后,都会消失
>nul 的使用场景:是将哪些 不需要显示在显示器上,也不需要保存的信息给清除掉
6.copy:
可以复制文件或者文件夹
格式
copy a.txt b.txt
7.de:
可以删除文件
del /f 强制删除只读文件
del /s 从所有的目录下删除指定文件
del /q 安静模式
格式
del /f /s /q test.txt
8.if判断
格式
if 判断条件 (
当条件成立的时候执行的代码
)
else
格式
else (
当条件不成立的时候执行的代码
)
判断数字
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于
判断字符串
== 等于
9.定时小程序:
定时机关命令
shutdown -s -t(秒)
例如:2小时后自动关机
shutdown -s -t 7200
取消自动关机
shutdown -a