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