- 获取用户输入
@echo off
set /p a="请输入:"
echo %a%
echo 请按任意键退出程序 & pause > nul
- 加入简单的if判断
@echo off
set /p a="请输入(1-3):"
: 注意 if 条件后空格 括号
if %a% == 1 (
echo "is one"
) else (
echo 其他输入
)
echo 请按任意键退出程序 & pause > nul
- if exist 判断文件是否存在
@echo off
if exist ./A.txt (
if exist ./1.txt (
echo 存在 A.txt 和 1.txt
) else (
echo 存在 A.txt 但是不存在 1.txt
)
)else if exist ./B.txt (
echo 不存在 A.txt 但是存在 B.txt
) else (
echo 不存在 A.txt 和 B.txt
)
echo 请按任意键退出程序 & pause > nul
- 简单for 循环
@echo off
for /l %%i in (0,1,255) do (
echo 111.111.84.%%i )
echo 请按任意键退出程序 & pause > nul
- 双层for循环
@echo off
: 起始值 步长 结束值 闭区间包含0 和25
for /l %%i in (0,1,25) do (
for /l %%j in (0,2,10) do (
echo 111.111.%%i.%%j)
)
echo 请按任意键退出程序 & pause > nul
- 简单改写for循环
@echo off
:: -w 超时时间 -n ping 的次数
for /l %%i in (0,1,255) do ( ping -w 60 -n 1 111.111.84.%%i|find /i "ttl" >>ip.txt )
echo 扫描结束按任意键退出......
pause
- goto语句
@echo off
:main
cls
set /p input=请输入(1-2):
if %input%==1 goto 1
if %input%==2 goto 2
rem (rem 后接注释) if 判断都没匹配到时 执行 ,则按顺序执行语句,因此需要在此处跳回到main
:return_main
goto main
:1
cls
echo one
echo.按任意键返回主菜单。
pause >nul
goto main
:2
cls
echo two
echo.按任意键返回主菜单。
pause >nul
goto main
:q
exit
echo 按任意键返回主菜单。
pause >nul
goto main
:echo 请按任意键退出程序 & pause > nul
- & 和 | (| 管道符 前一个命令的输出为下一个命令的输入)
& 可以同时执行多个命令 ,第一个命令执行失败了,也不影响后边的命令执行。
ping 1 & ping 127.0.0.1
&& 可以同时执行多条命令,当碰到执行出错的命令后将不执行后面的命令,如果一直没有出错则一直执行完所有命令
|| 当一条命令失败后才执行第二条命令,当碰到执行正确的命令后将不执行后面的命令
@echo off
ping -n 2 www.baidu.com | findstr "TTL" && echo --到百度正常== || echo --到百度网络错误--
echo 请按任意键退出程序 & pause > nul
- %
%0 批处理文件本身,包括完整的路径和扩展名
%1 第一个参数
%* 所有参数
例:
@echo off
echo %0 %1
echo %*
echo 请按任意键退出程序 & pause > nul