Win批处理命令基本操作


目录(?)
[+]

介绍批处理命令也有原因的,是由于在使用jenkins处理集成的时候,有些dll需要编译后拷贝到Web层的,否则反射是无法执行的。好了,切入正题

批处理文件是无格式的文本文件。包括一条或多条。扩展名为.batcmd。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们

下面简单介绍基本的语法使用

1echo命令

打开或关闭请求回显功能,显示当前设置

[plain]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. echo [{on|off}][message]  
  2. Sample:@echo off / echo hello world  

2.@ 命令

表示不显示@后面的命令

不能让对方看到你使用的命令啦。

[plain]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. Sample:@echo off  
  2. @echo Nowinitializing the program,please wait a minite...  

3goto命令

指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。

语法:goto label (label是参数,指定所要转向的批处理程序中的行。)

[plain]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. Sample:  
  2. if {%1}=={} gotonoparms  
  3. if{%2}=={} goto noparms(如果这里的if、%1、%2你不明白的话,先跳过去,后面会有详细的解释。)  
  4. @Rem check parametersif null show usage  
  5. :noparms  
  6. echo Usage:monitor.bat ServerIP PortNumber  
  7. goto end  
  8.    

4.Rem 命令

注释命令,在C语言中相当与/*--------*/,它并不会被执行,只是起一个注释的作用,便于别人阅读和你自己日后修改。

Rem Message

Sample:@Rem Here is the descr1ption.

5.Pause 命令

运行 Pause 命令时,将显示下面的消息:

Press any key tocontinue . . .

 

该命令有助于显示想要的结果

[plain]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. Sample:  
  2. @echo off  
  3. :begin  
  4. copya:*.* d:back  
  5. echo Please put a newdisk into driver A  
  6. pause  
  7. goto begin  

在这个例子中,驱动器 A 中磁盘上的所有文件均复制到d:back中。

6.If命令

if表示将判断是否符合规定的条件,从而决定执行不同的命令。有三种格式:

6.1if "参数"== "字符串" 待执行的命令

参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号)

if"%1"=="a" format a:

if {%1}=={} gotonoparms

if {%2}=={} gotonoparms

6.2if exist文件名 待执行的命令

如果有指定的文件,则条件成立,运行命令,否则运行下一句。

if existconfig.sys edit config.sys

7for命令

命令是一个比较复杂的命令,主要用于参数在指定的范围内循环执行命令

在批处理文件中使用 FOR 命令时,指定变量请使用%%variable

整体的语法是:

  for{vaiable|%%variable}in (set) do command[CommandLineOptions]

  • %variable指定一个单一字母可替换的参数。
  • (set) 指定一个或一组文件。可以使用通配符。
  • command指定对每个文件执行的命令。
  • command-parameters为特定命令指定参数或命令行开关。

对应的格式也可以是

 for参数 %%变量名 in ("文件或通配符")do"操作" 

以上是两种变形的写法,但表达的都是相同的意思 

 参数 for4个参数分别是/d /r /l /f

  • /d 仅为目录
  • /r 递归
  • /L迭代数值范围(小写l)
  • /f  迭代文件解析

我们来个递归的写法

在一个目录中搜索某个文件拷贝到另一个目录中

[plain]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. set jbosspath=E:\Jenkins_Publish\ExamSystem_NET\ExamSystem_Service\bin  
  2. set projwhich=ExamSystem  
  3. set objectbll=%Jenkins_Net%\%projwhich%\ITOO.Exam.BLL\obj\Release  
  4. for /r"%objectbll%" %%i in (ITOO*.dll) do (  
  5. echo 正在复制%%i到%jbosspath%\  
  6. copy /y"%%i" %jbosspath%\  
  7. <p>)</p>  

小结:

以上是对bat脚本的基本学习和认识,基本的语法结构和命令提示符,也是对现学习的最基本的记录,稍作整理吧。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值