一、基本命令
a.创建文件夹: md D:\mybat //将在D盘下创建一个名为 mybat的文件夹
b.删除文件夹: rd D:\mybat //将删除D盘中的mybat文件夹删除
c.删除文件夹中的文件: del D:\mybat\sheepmu.txt //删除文件sheepmu.txt
del D:\mybat\sheepmu.txt /q //安静模式删除,即删除时不弹出是否删除的提示框
d.复制文件 : xcopy D:\mybat\sheepmu.txt D:\mybat1 //若D中无mybat1这个文件夹则会创建文件夹再复制
e.向文件中写入内容: echo sheepmu >> D:\mybat\sheepmu.txt //如果这个文件不存在就创建文件并输入。如果是文件夹不存在就不会成功! >>与>的区别是>是覆盖掉原来的;>>是直接输入到原来的尾部
f.显示文件中内容: type D:\mybat\sheepmu.txt
g.更改文件名后缀: ren D:\mybat\*.txt *.html
二、注意事项
1、bat为防止中文乱码,编码方式采用ANSI
2、批处理脚本编写时最好的老师就是小黑老师啦,打开命令行窗口,输入命令加上/?就会有详细的说明,比如: netstat /?
3、pause 命令可以方便我们查看命令执行到了那一步,因为在bat脚本运行时若出现脚本错误窗口会一闪而过。
4、批处理执行过程中可以按 Ctrl+C退出,这对于出现死循环时非常有用。
ps:本文是批处理bat脚本编写(附详细例子)最简单的部分,稍后还会继续写相对复杂的语法的例子。
5、使用@echo off 可以关闭掉烦人的命令执行目录
6、在判断语句的左括号前必须要有空格,恶心
三、变量使用
@echo off set var=这是一个变量 echo var = %var% echo 脚本执行完成 pause
执行结果:
var = 这是一个变量
脚本执行完成
请按任意键继续. . .
四、获取输入
关于set:
/p 是让你输入
/a 是指定一个变量等于一串运算字符
/a代码:
@echo off set /p b=输入一个数字: echo %b% set /a a=2*%b% echo %b%+%b%=%a% pause>nul
输出:
输入一个数字:6
6
6+6=12
/p代码:
@echo off echo 请输入变量: set /p var= echo var = %var% echo 脚本执行完成 pause
执行结果:
请输入变量:
hello
var = hello
脚本执行完成
请按任意键继续. . .
五、实例
目的:
手动输入版本号
将文件拷贝到固定地址,并自动命名
@echo off
set softwareName=GW_program
echo 请输入版本号:(格式:xx.xx.xx)
set /p version=
set beakUpFileName=F:\myProject\gwConfigTool\GW_program\%softwareName%_%version%
if not exist %beakUpFileName% (
md %beakUpFileName%
xcopy %beakUpFileName% /s /e /c /h /r
echo 脚本执行完
) else (
echo 文件已经存在是否覆盖?(y/n)
set /p input=
if %input% == y (
xcopy F:\linux_space\pc_share\configuration_tool\GW_program %beakUpFileName% /s /e /c /h /r /y
)else (
echo 取消执行
)
)
echo 脚本执行完
参考链接:
cmd批处理中set /a和set /p的区别介绍: