bat批处理
文件管理
- 创建一个文件
echo "" > fileName.txt
- 删除一个文件或多个文件
del fileName.txt # 删除指定文件
del dirName # 删除指定目录下的所有文件(不删除目录)
# /P 删除每一个文件前提示确认
# /S 删除所有子目录中指定的文件
# /Q 安静模式,删除时不要求确认
# /F 强制删除只读文件
- 创建一个文件夹
md dirName
- 删除一个文件夹
rd dirName
# /S 删除目录本身及其下的所有子目录和文件
- 显示文件夹内容
dir dirName
- 重命名文件
ren oldFileName newFileName
- 显示文件内容
type fileName
- 拷贝文件
copy oldFile newFile
- 逐屏显示文件内容
more fileName
基本命令
- help 帮助命令
<cmdName> /? # 查看帮助信息
- echo 回显命令
echo on # 打开回显功能
echo off # 关闭回显功能,在此语句后的所有的运行命令都不显示命令本身,默认是echo on
- @ 命令
@cmdName #不显示@后面的命令,与echo off的功能相似
- rem 命令
rem message # 注释命令,在C语言中相当于/**/,它不会被执行,只是起到一个注释的作用
- pause 命令
pause # 暂停批处理的执行,在屏幕上显示Press any key to continue..的提示
- 清除屏幕内容
cls
- 设置cmd窗口标题
title titleName
- 管道与重定向
|
>
>>
<
# 以上四个命令用法与Linux下的相似
& # 顺序执行多条命令,而不管命令是否执行成功
&& # 顺序执行多条命令,当碰到执行出错的命令后将不执行后面的命令
|| # 顺序执行多条命令,当碰到执行正确的命令后将不执行后面的命令
- 命令调用
call # 在批处理中调用另一个批处理命令,否则剩下的批处理命令将不被执行
- 关机与重启
shutdown
-s # 关机,默认为30秒后
-r # 重启
-a # 放弃关机或重启操作
-f # 强制关机
-t # 指定时间
- 改变字体颜色
color a # 改变成绿色
语句
- for循环遍历
@echo off
set items=tongyishu goodboy right
for %%i in (%items%) do (
echo %%i
)
# 输出如下
# tongyishu
# goodboy
# right
- if判断
@echo off
# 判定参数是否符合期望值:if [not] "参数" == "字符串" 待执行的命令
set myvar=tongyishu
if %myvar%==tongyishu (
echo %myvar%
) else (
echo can't get expected value.
)
# 判定文件是否存在:if [not] exist [路径文件名] 待执行的命令
if exist main.c (
echo "main.c is exist."
type main.c
) else (
echo main.c is not exist.
)