Bat 批处理脚本 (常用)

########## Bat 批处理脚本 ##########

=== Content ===

1. Rem 和 ::

Rem 为注释命令,能回显。
:: 为符号注释,不能回显。 %行内注释内容% ===== (不常用)(慎用)
注:
回显:
回显,就是显示正在执行的批处理命令及执行的结果等。
不回显:
与上述回显,方式相反 例如:
(在cmd上运行结果如下:)
rem hello 在下面会显示空白的一行 :: hello 在下面不会显示空白的一行

2. Echo 和 @

@ 字符 始终不回显,不论你是echo on/off  状态
@ 放在命令前即关闭回显 echo
(1)开/关 回显
echo on/off
(2)显示当前ECHO设置状态
echo
(3)输出提示信息
echo Content
(4)关闭DOS命令提示符
echo off
(5)输出空行,即相当于输入一个回车
echo .
(6)答复命令中的提问
格式: ECHO 答复语|命令文件名
例子:
C:>ECHO Y|CHKDSK/F
C:>ECHO Y|DEL A :*.*
(7)建立新文件或增加文件内容
格式:
echo 文件内容 > 文件名 ======= 在文件 中写入『文件内容』
echo 文件内容 >> 文件名 ======= 在该文件末追加『文件内容』
例子:
C:>ECHO @ECHO OFF>AUTOEXEC.BAT建立自动批处理文件
C:>ECHO C:\CPAV\BOOTSAFE>>AUTOEXEC.BAT向自动批处理文件中追加内容
C:>TYPE AUTOEXEC.BAT显示该自动批处理文件
(8)向打印机输出打印内容 或 打印控制码
格式: echo 打印机控制码>; PRN
echo 打印内容>;PRN
例子:
下面的例子是向M-1724打印机输入打印控制码。<Alt>156是按住Alt键在小键盘键入

156,类似情况依此类推:

			C:>ECHO +156+42+116>;PRN(输入下划线命令FS*t)
C:>ECHO [email=+155@]+155@>;PRN[/email](输入初始化命令ESC@)
C:>ECHO.>;PRN(换行) (9)使喇叭鸣响
C:>ECHO ^G
“^G”是在dos窗口中用Ctrl+G或Alt+007输入,输入多个^G可以产生多声鸣响。
使用方法是直接将其加入批处理文件 或 做成批处理文件调用
这里“^G”属于特殊符号的使用,请看本文后面的章节
  1. Pause

    (1)暂停 press any key to continue

    Pause

    (2)自定义停止 提示语

    格式:

    echo 其他提示语 & pause > nul

  2. errorlevel

    程序运行后返回码 echo %errorlevel%

    用处: 判断命令是否执行成功

    默认值: 0(正确)

    出错 errorlevel 会设置为 1

  3. title

    更换cmd 窗口名字

    用法:

    title 新窗口名字

  4. color

    更改cmd的 前\后景颜色属性

    用法:

    color + attr

    attr 是 两位的十六进制数,第一位为前景色,第二位则为后景色

    0 = 黑色 8 = 灰色

    1 = 蓝色 9 = 淡蓝色

    2 = 绿色 A = 淡绿色

    3 = 湖蓝色 B = 淡浅绿色

    4 = 红色 C = 淡红色

    5 = 紫色 D = 淡紫色

    6 = 黄色 E = 淡黄色

    7 = 白色 F = 亮白色

    如果没有attr 参数,则返回成cmd启动时的属性

  5. mode

    配置系统设备

例子:(更改cmd窗口大小 和 颜色)

mode con cols=80 lines=20 & color f2

  1. goto 和 :

    ":"

    用来创建标签

    用法:

    ":" + 标签名

    例子:

    if {%1}{} goto noparms

    if "%2""" goto noparms

    goto:

    跳转到某标签

    用法:

    goto 标签名

    例子:

    @echo off

    :start

    set /a var+=1

    echo %var%

    if %var% leq 3 goto start

    pause

    运行结果:

    1

    2

    3

    4

  2. start

    新开一个程序执行

    例:

    start explorer d:

    调用图形界面打开D盘

  3. if

    用法:

    (1)IF [not] ErrorLevel number command
    (2)IF [not] string1==string2 command
    (3)IF [not] Exist filename command

    例子:

    echo off
    IF EXIST autoexec.bat echo 文件存在!
    IF not EXIST autoexec.bat echo 文件不存在!
  4. %

    用法:

    (1)%变量名%

    引用变量名的值

    例子:

    set file=“test.txt” rem 注意:变量名file后的=号 和 值不要有空格

    (2)%0~%9

    表示的是从外部参数引用的值

    %0 就是程序本身,或者路径

    %1 第一个参数 ... %9 第9个参数

  5. < >& <& 重定向符

    @echo off
    echo 2005-05-01>temp.txt
    date <temp.txt
    del temp.txt

    这样就可以不等待输入直接修改当前日期

    >&,将一个句柄的输出写入到另一个句柄的输入中。
    <&,刚好和>&相反,从一个句柄读取输入并将其写入到另一个句柄输出中。

    常用句柄:0、1、2,未定义句柄:3—9

    1>nul 表示禁止输出正确的信息

    2>nul 表示禁止输出错误信息。

    其中的1与2都是代表某个数据流输入输出的地址(NT CMD 称之为句柄,MSDOS称之为设备)。

    句柄0:标准输入stdin,键盘输入

    句柄1:标准输出stdout,输出到命令提示符窗口(console,代码为CON)

    句柄2:标准错误stderr,输出到命令提示符窗口(console,代码为CON)

    其中的stdin可被<重定向,stdout可被>、>>重定向。

    我们已经知道读取文本中的内容可以用for命令,

    但如果只需要读取第一行用for命令就有点麻烦。简单的办法如下:

    @echo off
    set /p str=<%0
    echo %str%
    pause
  6. | 命令管道符

    格式:cmd1 | cmd2 | cmd3 |...

    说明:将第一条命令的结果作为第二条命令的参数来使用

    例如:

        dir C:\|find "txt"

上述命令解释: 查找C:\ 下 所有匹配的"txt"字符串

  1. ^ 转义字符

    ^相当于C语言的"/" 转义字符

  2. DOS 循环

    for 循环:

    格式:

    	for %%var in (set) do Command  [command-parameters]
    
    	command-parameters:
    有四个参数: /d /l /r /f
  3. 系统变量

    用法:

    可以通过 %系统变量名% 查看当前系统变量的值

    例子:
    %HOMEPATH%
  4. 自定义变量

    (1)自定义变量

    set 变量名=值

    (2)手动输入变量的值 set /p

    @echo off
    set /p var=请输入变量的值
    echo %var%
    pause var变量名 =号右边的是提示语,不是变量的值
  5. if...else... 条件语句

    在 if...else 语句中 还有判断数字的符号:

    EQU - 等于
    NEQ - 不等于
    LSS - 小于
    LEQ - 小于或等于
    GTR - 大于或等于

    例子:

    IF EXIST filename (
    del filename
    ) ELSE (
    echo filename missing
    )
  6. random (随机数%random%)的应用技巧

例子:

          @echo off
setlocal enabledelayedexpansion
for /L %%i in (1 1 5) do (
set /a randomNum=!random!%%100
echo 随机数:!randomNum!
)
pause

Bat 脚本(常用命令)的更多相关文章

  1. Shell 脚本常用命令

    Shell脚本是Linux开发工作中常用的工具,但是我一直没有找到一个适合自己的简明扼要的HandBook.在工作过程中整理了一下,贴在这里已备查看. 1           Shell中的特殊符号 ...

  2. shell脚本常用命令汇总

    一.shell脚本概述和入门 (1)shell脚本是一个命令行解释器,它接收应用程序/用户命令,然后调用操作系统内核 (2)shell脚本的常用执行方式: 第一种:采用bash或sh+脚本的相对路径或 ...

  3. oracle数据库执行脚本常用命令总结

    1. 执行一个SQL脚本文件 代码如下 复制代码 sqlplus user/pass@servicename<file_name.sql或SQL>start file_names或SQL& ...

  4. Shell脚本常用命令简介

    格式化日期yyyy-mm-dd hh:mm:ss显示 date "+%Y-%m-%d %H:%M:%S" 将内容写入到新文件 echo "hello">a ...

  5. 【原创】Linux基础之Shell脚本常用命令

    #!/bin/sh 1 取脚本参数 $# 参数个数$0 当前脚本名$1 第1个参数$n 第n个参数$* 所有参数$@ 所有参数$? 上个命令的状态$$ 当前pid 2 日期 $ dateWed Mar ...

  6. bat脚本简单命令

    1.if 判断 (1.1)判断字符串是否为空: if "%var1%" == " " ( echo null) else(echo not null ) (1. ...

  7. Shell脚本常用命令整理

    该笔记主要整理了一些常见的脚本操作命令,大致如下(持续补充中): 1. while.for循环 1. while.for循环 #!/bin/bash # while循环 v_start_date=${ ...

  8. linux常用命令(shell脚本常用命令)(grep、cut、sort、uniq、seq、tr、basename、dirname)

    本章命令: 1 2 3 4 5 6 grep cut sort uniq seq tr 1.grep 作用:过滤文本内容 选项 描述 -E :--extended--regexp 模式是扩展正则表达式 ...

  9. bat脚本基础教程

    bat脚本就是DOS批处理脚本,就是将一系列DOS命令按照一定顺序排列而形成的集合,运行在windows命令行环境上.本文主要介绍bat脚本基础语法,希望完成本文内容学习之后具备基础的bat脚本开发能 ...

  10. bat脚本输出日志

    一,bat脚本常用的的输出命令是“echo 输出内容”,可以利用echo将文本输出到cmd窗口或文件.bat脚本是不区分大小写的脚本语言,因此大小写都可以. 例如: REM 在命令行窗口输出 echo ...

随机推荐

  1. Vijos 1451 圆环取数 【区间DP】

    背景 小K攒足了路费来到了教主所在的宫殿门前,但是当小K要进去的时候,却发现了要与教主守护者进行一个特殊的游戏,只有取到了最大值才能进去Orz教主…… 描述 守护者拿出被划分为n个格子的一个圆环,每个 ...

  2. Swing中子元素截获MouseEvent问题

    在父元素中绑定MouseMotion监听,但是当鼠标在子元素中时父元素无法收到 这时候需要在子元素中绑定MouseMotion,然后使用: getParent().dispatchEvent(e); ...

  3. codeforces 963B Destruction of a Tree

    B. Destruction of a Tree time limit per test 1 second memory limit per test 256 megabytes input stan ...

  4. 4.7.4 Constructing LALR Parsing Tables

    4.7.4 Constructing LALR Parsing Tables We now introduce our last parser construction method, the LAL ...

  5. Zookeeper日志文件&事务日志&数据快照

    Zookeeper持久化两类数据,Transaction以及Snapshot,logDir存储transaction命令,dataDir存储snap快照,其下子目录名称以version-2命名,子目录 ...

  6. 通过CSS控制页面中的内容垂直居中的方法

    方法一:通过行高(line-height)定位 line-height通常是用于调节一段文字的行与行之间的距离,或者说两行文字之间的距离,如果行高是500px,那么每一行中的文字距离本行的顶部就是25 ...

  7. 词典(一) 跳转表(Skip table)

    词典,顾名思义,就是通过关键码来查询的结构.二叉搜索树也可以作为词典,不过各种BST,如AVL树.B-树.红黑树.伸展树,结构和操作比较复杂,而且理论上插入和删除都需要O(logn)的复杂度. 在词典 ...

  8. CodeForces 731F Video Cards (数论+暴力)

    题意:给定 n 个数,可以对所有的数进行缩小,问你找出和最大的数,使得这些数都能整除这些数中最小的那个数. 析:用前缀和来做,先统计前 i 个数中有有多少数,然后再进行暴力去找最大值,每次都遍历这一段 ...

  9. 对象的属性类型 和 VUE的数据双向绑定原理

    如[[Configurable]] 被两对儿中括号 括起来的表示 不可直接访问他们 修改属性类型:使用Object.defineProperty()  //IE9+  和标准浏览器  支持 查看属性的 ...

  10. laravel生命周期和核心思想

    工欲善其事,必先利其器.在开发Xblog的过程中,稍微领悟了一点Laravel的思想.确实如此,这篇文章读完你可能并不能从无到有写出一个博客,但知道Laravel的核心概念之后,当你再次写起Larav ...