1、使用ECHO、关闭回显
ECHO OFF
2、普通用法
ECHO [example == 1,the first bat program]
3、ECHO向文件中添加内容与新建文件
ECHO [example == 2,new file and add content]
ECHO add something to normalRst > normalRst.bat
4、使用goto
ECHO [example == 3,usegoto]
:start
SET /a Var+=1
ECHO var == %Var%
IF %Var% LEQ 10 GOTO start
5、echo输出到指定文件
ECHO 111222 > write.txt
ECHO 222 >> write.txt
ECHO 111 >> write.txt
6、FINDSTR和TYPE命令
# /V :打印不匹配的行,
# /N:显示行数
# /C:仅显示包含字符串行数
TYPE write.txt | FINDSTR /C /N "111"
7、start 命令,
start calc
8、CALL,
CALL calc
9、关于文件属性
ATTRINB 修改文件属性
使用help ATTRIB 修改文件属性
ATTRIB [+R|-R] [+A|-A] [+S|-S] [+H|-H|] [+I|-I] [drive:][path][filename] /S /D /L
+添加文件或文件夹属性 -清除文件或文件夹属性
R只读属性:表示文件不能被修改 A存档文件属性
S系统文件属性 是操作系统的一部分 H隐藏文件属性 表示该文件在操作系统中是被隐藏的,默认情况下用户不能修改这些文件属性
I 索引文件属性,和数据库相关 当用户规定了索引字段后mapinfo自动产生索引文件
/S 处理当前文件夹及其所有子文件夹中匹配问题
/D 也处理文件夹
/L 处理符号链接及符号连接目标属性
10、创建文件夹
mkdir example009
11、创建文件,修改文属性为只读
ECHO 实例-9-只读文件 > example009_attrib_read.txt
ATTRIB +R example009_attrib_read.txt
12、创建文件,修改文件属性为隐藏
ECHO 实例-9-隐藏文件 > example009_attrib_hide.txt
ATTRIB +H example009_attrib_read.txt
13、回到上层数据
cd ../
14、删除文件夹example009
# RMDDIR /S /Q [drive:][path] 或者 RD /S /Q [drive:][path]
# /S 删除目录树 /Q 安静删除 删除目录树不需要确认
RD /S /Q example009
15、管道
命令管道符 格式: 第一条命令 | 第二条命令 | 第三条命令 |……
将第一条命令的结果作为第二条的参数来使用
dir | find "txt"
16 组合命令&
# 格式: 命令1 & 命令2
# 命令1执行成功与否 与 命令2是否执行无关
dir z:\\ & dir d:
dir d: && dir z:\\
17、组合命令&&
# 格式: 命令1 && 命令2
# 命令1执行不成功命令2不执行 与 命令1执行成功则命名2执行
dir z:\\ && dir d:
dir d: && dir z:\\
18、组合命令 ||
# 格式: 命令1 || 命令2
# 命令1执行失败命令2才执行
dir z:\\ || dir d:
dir d: && dir z:\\
19、循环命令 for命令
#格式:for %i in (set) do ommand
@ECHO 目录操作关于for命令
#打印当前目录下所有目录 但不打印文件
for /D %%i in (*) do @echo %%i
20、 IF命令
@ECHO 比较数值大小
set /a num1 = 100
set /a num2 = 50
if %num1% gtr %num2% echo %num1%大于%num2%
if %num1% geq %num2% echo %num1%大于等于%num2%
if %num1% equ %num2% echo %num1%等于%num2%
if %num1% lss %num2% echo %num1%小于%num2%
if %num1% leq %num2% echo %num1%小于等于%num2%
@ECHO 判断字符串是否相等
set "str1=ok"
set "str2=ok"
set "str3=non"
if "%str1%" == "%str2%" (echo str1等于str2 ) else (echo str1不等于str2)
if "%str1%" == "%str3%" (echo str1等于str3 ) else (echo str1不等于str3)
@ECHO 判断是否被定义
if defined str1 echo str1已经被定义了