本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名原文链接~~~

Dos 批处理简记

微信搜索 zze_coding 或扫描 👉 二维码关注我的微信公众号获取更多资源推送:


在 Windows 中,一个保存了 Dos 命令并以 .bat 作为文件扩展名的文本文件就可以称为批处理脚本,比如有 test1.bat 文件内容如下:

echo 1
echo 2
echo 3
pause

pause 命令可以阻止命令继续执行,以防止窗口一闪而过。。其执行效果如下:

image.png

可以看到其实就相当于我们顺序手动执行了多条命令。

屏蔽命令回显

可以通过 @echo off 屏蔽命令的回显而仅保存输出结果,在脚本头部添加上 @echo off 后脚本如下:

@echo off
echo 1
echo 2
echo 3
pause

执行效果如下:

image.png

从终端接收变量值

有时候我们的变量值需要用户交互指定,此时就可以通过下面语法来从终端接收变量值:

@echo off
set /p a=请输入第一个数:
set /p b=请输入第二个数:

set /a sum=%a%+%b%
echo 和:%sum%
pause

效果如下:

image.png

终端标题

从上面示例的输出中可以看到终端窗口的标题默认为 cmd 程序的路径 C:\WINDOWS\system32\cmd.exe,我们可以通过 title 命令手动指定这个标题,比如:

title zze-test
@echo off
echo hello zze
pause

效果如下:

image.png

重定向

Dos 和 Shell 类似也有重定向的概念:

  • 1>:标准输出重定向;
  • 2>:错误输出重定向;

并且 Dos 中有类似于 Linux 中 /dev/null 的文件,在 Dos 中为 nul,看下面示例:

@echo off
echo test line 1 1> nul
echo test line 2 
echo test line 3
:: test 目录不存在,将标准输出和错误输出都重定向到 nul
dir test 1> nul 2> nul
pause

效果如下:

image.png

条件判断

Dos 中的条件判断同样是使用 if/else 实现,看下面示例:

@echo off
set /p a=输入年龄:
if %a% geq 18 (echo 已成年) else (echo 未成年)
pause

效果如下:

image.png

goto

Dos 中的 goto 和 C 语言中的 goto 差不多,都是用来让代码跳转到指定位置,看下面示例:

@echo off
:a
set /p a=输入年龄:
if %a% geq 18 (echo 已成年) else (echo 未成年)
pause
goto a

效果如下:

image.png

可以看到这里使用 goto 间接实现了循环操作。

# 杂记  

如果这篇文章对您有帮助,可点击下方链接分享给你的朋友们😋,如果遇到问题欢迎评论、留言~~~😇

评论

公众号:zze_coding

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×