突然有这样的需求:同时打开一个文件夹下的多个视频播放任务。如何来实现呢?


理所当然的是想到Potplayer本身可以开多个进程,也就是多开窗口播放,但是经过实验,发现在资源管理器中选取多个视频源并不能实现同时打开并播放!如下图:

开始.bat

想要实现同时打开任务,就要用到批处理中的循环语句FOR,其语法还挺有深度,这里我们使用最基础的不带参数型:

for %%i in (*) do (PotPlayerMini64 %%i)

其中%%i表示取当前路径下的文件,do后面是执行语句!使用PotPlayer可执行exe应用来打开该文件!【PS:我在PATH环境中加了PotPlayer软件路径,因此可直接使用,否则需要写上全路径地址!如:D:\Pot_Player64_1.7.21516_Dev_20210716\PotPlayer64\PotPlayerMini64.exe

好了,准备好文件,如下图所示:

把批处理文件放入媒体文件同目录下,我们执行尝试...

发现了两个问题:

.bat批处理执行是阻塞型应用,也就是单任务执行机制,即当上一条指令完全执行完毕才能执行下一条,因此无法实现同时打开的需求!!

㈡ PotPlayer无法打开任意格式的文件,如.bat批处理文件,如下图:

完善

针对问题,进行改善:

for %%i in (*.mp4) do (start cmd /k PotPlayerMini64 %%i)

指定需要遍历的文件格式,为mp4,而执行操作是:每次调取单独的cmd命令来打开播放器,这里使用了startcmd命令,加了/k参数,即可以看到cmd窗口中调取指令情况,如图:



如果想执行完毕cmd自动关闭cmd窗口,可以换/c。从简的话也可以省略cmd命令,如:

for %%i in (*.mp4) do (start PotPlayerMini64 %%i)

OK!!!基本需求以及达到了。

进一步

还可以拓展...比如批处理文件放在单独的路径下来执行,可以这样修改:

cd ToPlay
for %%i in (*) do (start cmd /k PotPlayerMini64 %%i)

其中的ToPlay文件夹存放待播放的媒体文件。

当然还可以基于参数传入来执行批处理任务,如:

cd %1
for %%i in (*) do (start cmd /k PotPlayerMini64 %%i)

然后在cmd中执行该.bat,如图:



【PS】还有一种方法是在资源管理器中将ToPlay文件夹拖放到.bat上松开执行!

总结

现在基本上可以很轻松地实现想要的效果了。当然啦,还能再改善功能,例如可以进一步筛选目录下的某某文件来播放,或者定义每次开启播放器的间隔时长等等。还可以将这些功能包装成GUI可视的窗口应用。。。

有个细节想说明一下,如果cmd这样调用:

PotPlayerMini64 filename

即不加后缀名调用,那么播放器是只开不放的,也没有将该媒体文件加入至播放列表中,要想正常开启并播放则需要加上后缀名。

总之,这个小需求网上有人在问怎么实现,但很少有博文可参考,本人竟然没找到,故此小结了这篇文章,而且可以触类旁通,拓展到其他应用都可以借此方法同时开启并调用某某文件,希望对读者有帮助,感谢!!

借用【.bat 批处理】实现同时播放多个视频 · 以PotPlayer播放器为例的更多相关文章

  1. MediaElement视频控制:播放、暂停、停止、后退、快进、跳转、音量

    /* =================================================  * Author:     Micro  * Date:       2016=03-25 ...

  2. 【转】BAT 批处理脚本 教程

    第一章 批处理基础第一节 常用批处理内部命令简介批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令.小知识:可以在 ...

  3. 【工作笔记】BAT批处理学习笔记与示例

    BAT批处理学习笔记 一.批注里定义:批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD,这些命令统称批处理命令. 二.常见的批处理指令: 命令清单: 1.RE ...

  4. BAT 批处理脚本 教程

    第一章 批处理基础第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令.小知识:可以 ...

  5. 【转载】BAT 批处理脚本教程

    来源:http://www.cnblogs.com/glaivelee/archive/2009/10/07/1578737.html BAT 批处理脚本 教程   第一章 批处理基础第一节 常用批处 ...

  6. [转]BAT 批处理脚本 教程

    第一章 批处理基础第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令.小知识:可以 ...

  7. BAT 批处理脚本教程

    第一章 批处理基础第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令.小知识:可以 ...

  8. BAT 批处理脚本 教程 【转】

    BAT 批处理脚本 教程 第一章 批处理基础 第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令 ...

  9. 转:windows BAT 批处理脚本教程

    转自:http://www.cnblogs.com/mq0036/p/3412171.html BAT 批处理脚本教程 第一章 批处理基础第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文 ...

  10. 《转》BAT批处理教程

    第一章 批处理基础第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令.小知识:可以 ...

随机推荐

  1. 深度学习环境搭建(Windows11)

    深度学习环境的搭建(Windows11) 偶然重装了系统,在此记录下环境的恢复 基本深度学习环境的搭建,包括Anaconda+CUDA+cuDNN+Pytorch+TensorRT的安装与配置. ps ...

  2. [Mybatis Plus]lambdaQueryWrapper和QueryWrapper的选择

    结论 更推荐使用:LambdaQueryWrapper QueryWrapper:灵活但是不够类型安全 LambdaQueryWrapper:安全 分析 在MyBatis-Plus中,QueryWra ...

  3. 抛出 NoClassDefFoundError: javax/validation/constraints/Size 问题的解决方法

    Error:java: java.lang.NoClassDefFoundError: javax/validation/constraints/Size 问题很明显,找不到相关类.我们可以在 pom ...

  4. Swagger2学习——@ApiImplicitParams注解

    @ApiImplicitParams:用在请求的方法上,表示一组参数说明 @ApiImplicitParam:用在@ApiImplicitParams注解中,指定一个请求参数的各个方面 name:参数 ...

  5. Qt数据库应用23-个人信息报表

    一.前言 自从上次做完的图文报表,又新来了个需求需要实现个人信息报表,类似个人简历一样的格式,数据从数据库中取出来,然后一个人的信息就打印一张,传入查询的多个人员信息,自动分页打印个人信息报表,报表可 ...

  6. Python 潮流周刊#83:uv 的使用技巧(摘要)

    本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...

  7. v-for和v-if一起使用时的坑:The 'XXX' expression inside 'v-for' directive should be replaced with a computed property that returns filtered array instead. You should not mix 'v-for' with 'v-if'

    目的:Vue - ElementUI中循环渲染表格,控制字段的显示与隐藏 v-if与v-for同时使用. 在Vue中使用v-for循环一个数组/对象时,如果再使用v-if,那么会提示使用计算属性(能正 ...

  8. 关于经纬度坐标与utm坐标之间的相互转换api

    /* * Author: Sami Salkosuo, sami.salkosuo@fi.ibm.com * * (c) Copyright IBM Corp. 2007 */ package com ...

  9. threejs 实现镜面反射,只反射指定物体,背景透明

    一.背景 最近在做数字孪生项目,使用threejs渲染模型,UI要求地面反射建筑物,也就是模型要有倒影. 二.调研 在官网找到一个镜面反射的例子(https://threejs.org/example ...

  10. SM9-签名

    算法过程 代码实现 ///************************************************************************ // File name: ...