bat基础用法

🎗️bat中文叫批处理,是windows原生可以运行的程序

文件复制

start cmd /k 代码 & 代码
#执行后面的代码部分并保留运行结束后的窗口
#不加 start cmd /k 仍然可以运行结束后自动关闭窗口
#  &  连接两个代码分别运行

chcp 65001
#把格式解释为UTF-8 防止中文乱码
#需要换行书写

copy "D:\ruan\阿达\" "."
#复制 D:\ruan\阿达 路径下文件到bat脚本所在文件夹

xcopy /y "D:\ruan\阿达\" "."
#同为复制但是功能更多 中间添加/y就是同意覆盖
#但是这时候复制的只是该目录下的文件并不包括子目录

xcopy /y "D:\ruan\阿达\" "." /E
#在结尾加上 /E 既可以复制所有子目录及文件
#结尾还可以加上这些
#/E–复制子文件夹,包括空文件夹。
#/H-复制具有隐藏文件和系统文件属性的文件
#/C-即使发生错误也继续复制
#/I-如有疑问,假定目标位置是文件夹,比如,当目标位置不存在时
#/T-复制子目录结构,但不复制文件
#/E-复制子目录,包括任何空目录
#/E–复制子文件夹,包括空文件夹
#/H-复制具有隐藏文件和系统文件属性的文件
#/K-复制属性。一般来说Xcopy会取消掉文件的“只读”属性
#/O-复制文件所有权和ACL信息
#/X-复制文件审核设置(隐含/O)

C:\Users\%USERNAME%\
# %USERNAME% 表示当前用户文件夹
C:\Users\%USERNAME%\Desktop\
#这就是通配符当前用户下的桌面路径
C:\Users\%USERNAME%\Documents\
#同理文档路径
C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
#用户启动目录

访问网址

explorer https://zhai23.github.io/
#访问网址 https://zhai23.github.io/

输出文字

echo hello world
#输出文字 hello world

打开文件夹或文件

打开文件夹

start D:\文件夹1

打开文件

start D:\文件夹1\test.txt

删除文件

删除当前目录下的test.txt文件

del test.txt

删除上级目录下的test.txt文件

del ..\test.txt

删除当前目录TEST文件夹下的所有.o文件

del .\TEST\*.o

创建文件夹

md 文件夹1
#在当前目录创建文件夹1
md D:\文件夹1
#在D:\目录创建文件夹1

创建文件

当前目录创建a.txt文件

cd.>a.txt

提取文件名

提取当前目录下扩展名为mp3的文件名,输出到mp3文件名.txt

dir *.mp3 /b>mp3文件名.txt

提取当前目录下的“深度睡眠”文件夹下的所有mp3文件名到文件

dir .\深度睡眠\*.mp3 /b>mp3文件名.txt

提取当前目录下所有文件的文件名到a.txt

dir c:\*.* >a.txt

输出文件的绝对路径信息

输出当前目录下mp3文件

dir *.mp3/b/s>MP3文件信息.txt

MP3文件信息.txt的内容

D:\Music\深度睡眠\01.细水长流.mp3
D:\Music\深度睡眠\02.花絮轻撒.mp3
D:\Music\深度睡眠\03.爱的轮回.mp3
D:\Music\深度睡眠\04.月影摇曳.mp3
D:\Music\深度睡眠\05.逐梦.mp3
D:\Music\深度睡眠\06.萦绕天使.mp3
D:\Music\深度睡眠\07.夜宴.mp3

执行另一个批处理文件

call c:\code\run.bat

自动关机

300s 后自动关机

shutdown -s -t 300

隐藏文件夹

attrib +s +h D:\Secret

取消隐藏文件夹

attrib -s -h D:\Secret

给文件写入内容

echo 内容文字 > D:\233.bat
#给D:\233.bat写入内容文字

修改环境变量

setx 变量名 变量内容
#比如给maya修改语言
setx MAYA_UI_LANGUAGE zh_CN