这三步是对命令拆分后的讲解:
第一步:打开cmd命令
cmd
第二步:进入到指定文件夹命令
# 进度D盘根目录
cmd /k "cd /d D:\"
# 进度D盘下FFmpeg文件夹
cmd /k "cd /d D:\FFmpeg"
/k表示cmd命令执行完毕后不关闭窗口。如果要关闭,则使用/c
第三步:执行dos命令
# 注意: xxx 指代dos命令
cmd /k "cd /d D:\FFmpeg\bin&&xxx"
执行dos命令,一定要在前面带上&&,不然bat会认为后面的命令也是文件夹路径的一部分。
如果要执行多条命令,多条命令之间也要用&&来分割。
示例:
编写一个bat脚本,在bin文件夹下自动运行 ffmpeg 命令把一个mov格式的视频转换成m3u8格式。
cmd /k "cd /d D:\FFmpeg\bin&&ffmpeg -i 123.mov out1.m3u8"
# ffmpeg -i 123.mov out1.m3u8 就是dos命令
编写一个bat脚本,自动把项目使用visual studio code 打开并运行。
cmd /k "cd /d E:\Iccloud\zzdv&&code .&&npm start"
code . 是使用cmd打开visual studio code的快捷指令,会自动帮我们把某一目录下的所有文件通过vscode来打开。
其他:
打开多个cmd窗口并执行指令:[以示例2为例]
start cmd /c "cd /d E:\Iccloud\zzdv&&code ."
start cmd /k "cd /d E:\Iccloud\zzdv&&npm start"
start 表示启动一个程序。
说一下 bat 脚本的两个常用指令:echo off 和 pause
echo off命令表示除本条命令之外不显示其他所有命令的回显。
echo off
echo '第一条命令'
echo '第二条命'
echo '第三条'
pause
# 输出结果:
C:\User\Youwillsun>echo off
第一条命令
第二条命
第三条
请按任意键继续...
还有一点,::是bat里的一种注释语句,所以我们又是也会看到这样的:::echo off 这就注释了 echo off,会显示所有命令的回显。 @echo off 表示不显示所有命令的回显。
什么是回显???
C:\User\Youwillsun> 就是
pause 也是命令,表示暂停程序,执行pause会输出请按任意键继续...
结语:
bat 命令编写完成后,请把文件保存为以 .bat 结尾的文件。不然没法玩。