这三步是对命令拆分后的讲解:

第一步:打开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会认为后面的命令也是文件夹路径的一部分。

如果要执行多条命令,多条命令之间也要用&&来分割。

  • 示例:

    1. 编写一个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命令
      
    2. 编写一个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 offpause

  • 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 结尾的文件。不然没法玩。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐