使用bat脚本自动打开cmd并执行命令
·
这三步是对命令拆分后的讲解:
第一步:打开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
结尾的文件。不然没法玩。
更多推荐
已为社区贡献6条内容
所有评论(0)