Windows下的bat原来可以为我们做很多
来源:互联网 发布:hit韩服数据 编辑:程序博客网 时间:2024/05/02 14:11
用了windows系统这么多年了,对bat也不是很了解。最近研究了一下bat的用法。这里就大概列举一下自己的用法
参考网址
基本命令
echo
echo我们可以理解成程序中的输出,和我们Java的System.out.println是一个效果。
关于echo有两种设置 echo on 和echo off.前者是在此命令之后的命令都会显示输出,后者则不显示后面的执行命令了
@
- @ 的功能和echo off的功能一样都是让命令不显示的。唯一的区别的@ 影响的是当前行而echo off影响的是在其后的所有的命令行。
@echo off redis-server.exe redis.conf @pause
- 例如上面的bat文件的语句最终执行的效果是 echo off 这个命令不显示 因为@ 控制当前行不显示。redis-server.exe redis.conf 这个命令也不显示 。因为echo off之后的命令都不现实。除非遇到echo on在此开启了显示的功能。
call
- call别人说和start功能一样,但是自己测试call无法使用,取而代之的我用的是start, start和call的作用就是在本bat文件中调用了别的bat文件。如果不用start或者call的话,那么本bat文件将执行完别的bat就不在继续执行本bat的其他语句了。相当于Java中的break了。
pause
- pause是暂停的意思,就是bat执行完了之后cmd窗口不会关闭而是在pause的地方输出 press any key …. 。他和exit相对。exit是指程序结束后就关闭窗口。正常pause和exit在文件的最后存在。
rem
- 作为程序员都是知道注释的重要性的。就算是自己写的代码没有良好的注释过一段时间自己都会忘记这段代码的作用。而在bat批处理语言中rem就是起到注释的作用。
rem 我是注释
参数传递
Java或者其他语言中都是可以进行参数传递的,这样可以增加各个模块的联系,bat也是可以传递参数的。他的传递参数的方法比较特别,不需要指定参数的类型。只是按参数的顺序来获取的。分别用%0~%9来获取参数。这样也就是说参数只能是9个。其中%0表示的bat方法的本身。%1~%9表示第几个参数。
新建一个method.bat,内容为echo %1。我们新开cmd窗口。首先cd到method.bat所在的文件目录中。执行语句 method.bat helloworld 程序结果 为 helloworld。
特殊命令
- 上面的一些基础的命令之外还有一些属于高级命令 ,正常情况写我们做逻辑判断的时候经常用到 if goto choice for,这四个使我们经常用到。
if
if 就是我们用到的程序判断,根据条件执行不同的语句。其中的基本格式如下
if “%1”==”test” echo test
上面的代码执行的效果就是输入了test的参数就会输出test 结果,输入的可以是“ hello world ” ,在程序中的参数就是带引号的参数。
if [not] exist 判断不存在是执行的语句
if exist 判断存在时存在的语句
if errorlevel num 根据程序的返回值判断
goto
- goto就是跳转到哪里 基本语法
goto zxh :zxh echo 跳转啦
- 其中goto去的端点 需要用:开头
choice
这个选择项用的挺多的,因为考虑程序的大众化,我们程序正常会给用户提供选择,这里就需要用到了choice了。
关于choice中有哪些参数,我们可以打开cmd窗口执行 choice /?
上面的一张图片已经解释了choice的选项说明,我们有设么格式的提示选项上面的图片事列已经列出了五种类型的。我们根据不同需求些不同的bat.
其中在/c后面的提示列表的编号我们一次是1,2,3….N。在我们根据errorlevel的值判断的时候必须从高到底比如如下一段代码才有效
@echo offchoice /C dme /M "defrag,mem,end"if errorlevel 3 goto endif errorlevel 2 goto memif errorlevel 1 goto defrag:defragecho I am defraggoto end:memecho I am memgoto end:endecho good byepause
for
- for循环是我们遍历数据用的最多了。我们经常通过for来执行相同理念的操作。
FOR %%variable IN (set) DO command [command-parameters]
- 上面的for循环其实用Java语言写就是一下代码
for(Object obj in List<Object>){//执行操作}
- 所以上面的variable就是下面的obj
- set 就是下面的list集合
- command是我们的执行操作
command parameters 是我们执行操作的时候用到的参数正常就是variable(obj)
- Windows下的bat原来可以为我们做很多
- 编程不能太局限,我们可以做的事情很多
- windows bat脚本编写入门,可以做windows的crontab
- 做一个好的程序员,我们需要做很多很多
- 原来WINDOWS可以这样的
- 原来WINDOWS下是可以开发IPHONE
- 原来等待我做的事情还有很多
- 原来还可以开发我们自己的快捷方式
- Windows下bat文件创建和运行(以caffe的train.bat和createData.bat为例)
- 其实我们可以做自己的心理医生
- 当<script>中的type等于text/html时,我们可以做很多事件!
- windows下的bat编程
- Gridview的RowDataBound事件可以做很多事情
- Gridview的RowDataBound事件可以做很多事情
- C#原来也可以做mepg卡拉OK效果的.
- bat为我们带来好处......
- 胡振亮:原来这就是很多网站百度权重做不上去的原因
- 为我们部门做的App
- 前端数据实时校验
- C#指针一些操作
- 实体类(VO,DO,DTO)的划分与图解
- Python爱好者之超级简单Hello World!
- 幸运三角形
- Windows下的bat原来可以为我们做很多
- centos安装字体
- JVM内存模型&内存溢出&垃圾回收
- 九点圆定理证明技巧
- 常用的几种水平垂直居中方式(按受用几率来写)
- sizeof和strlen的区别比较
- Android Webview加载外部html时选择加载本地的js,css等资源文件
- Opencv 学习笔记
- JVM相关知识整理