bat 写法

常用写法

输出

@echo off	# echo off此语句后所有运行的命令都不显示命令语句
# @表示本行不显示
rem echo 123 	# 注释,不运行
chcp 65001	# 声明采用 UTF-8 编码(为了兼容中文)
echo 文字
echo.	# 换行
pause 	# 暂停,也可以写 pause>nul 不显示提示文字
title 现在时间是:%time% 
# title 用来在标题栏显示内容
# %time% 表示当前系统时间
# date 显示系统日期
% 表示参数
%var%,变量var
echo %0		# %0 表示当前文件的完整路径+文件名
cls 	# 清理屏幕显示
# 调用另一个批处理程序,而不终止父批处理程序
call a.bat

文件管理

md d:\hello	# make directory 创建文件夹
ren hello hello1	# rename 重命名(文件或目录都可以)
rd hello1	# remove directory 删除目录
move 原A 终B	# 将A下的所有文件和目录,移动到B
dir 	# 显示目录
cd d:/	# change directory 切换目录
# 创建一个内容为【测试内容】的1.txt
echo 测试内容 >1.txt

# 复制文件
copy 1.txt 2.txt

# 删除文件
del 1.txt
start 1.txt		# 打开文件
start c:\text	# 打开文件夹

# 如果路径有空格,需要加上双引号

参数查看

[命令/?]
del/?	# 查看del命令的参数

符号

# > >>都是输出重定向,把前面命令的流文字重定向写入到一个文件中
>	# 清楚原有文件内容后写入
>>	# 另起一行写入新内容

&	# 组合链接命令,按顺序执行,忽略执行失败的命令
&&	# 组合链接命令,把前后命令组合当作一个命令执行,出错将不再继续执行

|	# 前一行命令的输出当作后一命令的输入
||	# 和 && 相反,遇到一个执行正确的命令就退出,不再执行

系统

# 立刻关机
shutdown -s -f -t 0
# 立即重启
shutdown -r 0

# 结束进程
taskkill /im notepad++.exe
taskkill /pid 1376 -t -f

逻辑控制

# 结合判断进行删除
if exist c:\windows\temp\*.* del c:\windows\temp\*.*

# 复杂判断
set varA=B
if "%varA%"=="A" (echo %varA% is A) else if "%varA%"=="B" (echo %varA% is B) else (echo %varA% is C)
# 循环
# 变量 a 在集合 (1, 1, 5) 中进行遍历,然后回显出值
@echo off
for %%a in (1, 1, 5) do (
  echo %%a
)

# 变量 a 从 1 开始,步长为 1,终值为 5,进行循环
@echo off
for /l %%a in (1, 1, 5) do (
  echo %%a
)
pause
posted @ 2021-10-29 10:05  景北斗  阅读(176)  评论(0编辑  收藏  举报