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


理所当然的是想到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. Tomcat 已集成 CROS Fitler ExpiresFilter 等一堆常用 Filter

    http://tomcat.apache.org/tomcat-7.0-doc/config/filter.html 再也不需要三方包提供的 filter 了

  2. 2024年1月Java项目开发指南2:项目设计

    确定软件架构 1.前端用什么技术,什么框架,什么版本 2.后端用什么技术,什么框架,什么版本 3.用些什么软件,软件版本? 比如: 前端:vue3 + Element-Plus + Axios 后端: ...

  3. 【MyBatis】学习笔记11:解决字段名和属性的映射关系

    [Mybatis]学习笔记01:连接数据库,实现增删改 [Mybatis]学习笔记02:实现简单的查 [MyBatis]学习笔记03:配置文件进一步解读(非常重要) [MyBatis]学习笔记04:配 ...

  4. arch 音频处显示没有输入或输出设备

    我的设备是 Dell G15 5511, 属于比较新的设备, 查看了 Fourm 与 wiki 后使用 1 yay -S sof-firmware   安装框架之后重启即可使用.

  5. Spring Cloud Sleuth in a Monolith Application

    1. Overview   In this article, we're introducing Spring Cloud Sleuth – a powerful tool for enhancing ...

  6. Qt编写ffmpeg本地摄像头显示(16路本地摄像头占用3.2%CPU)

    一.前言 内核ffmpeg除了支持本地文件.网络文件.各种视频流播放以外,还支持打开本地摄像头,和正常的解析流程一致,唯一的区别就是在avformat_open_input第三个参数传入个AVInpu ...

  7. Spring Security默认登录页面代码位于哪里?

    问:Spring Security默认登录页面代码位于哪里? 答:它是从此类生成的org.springframework.security.web.authentication.ui.DefaultL ...

  8. 百度公共IM系统的Andriod端IM SDK组件架构设计与技术实现

    本文由百度技术团队分享,引用自百度Geek说,原题"百度Android IM SDK组件能力建设及应用",本文进行了排版和内容优化. 1.引言 移动互联网时代,随着社交媒体.移动支 ...

  9. 论文解读 原苏木素A通过靶向ACSL4/FTH1轴依赖性铁凋亡保护阿霉素诱导的心肌损伤和心功能障碍

    同学们,大家好!今天给大家介绍一篇研究性论文,原苏木素A通过靶向ACSL4/FTH1轴依赖性铁凋亡保护阿霉素诱导的心肌损伤和心功能障碍,想了解这方面的同学们可以重点关注一下.这篇文章是2024年7月份 ...

  10. python连接pgsql&mysql

    1.python连接pgsql import psycopg2 def connect_pgsql(list_sql): conn = psycopg2.connect(host='db_host', ...