[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]批处理如何查找没有生成预览图的视频,并将其移动到子目录中

例如:
   我有一个目录,下面有几千部Movie,大部分的Movie都有一个预览图,但是有很少一部分视频,是没有预览图的,我现在想从这数千视频中,将这些没有预览图的视频,挑出来,建立一个子文件夹,全部移动到子文件夹中,应该怎么操作。

视频的命名没有规律,预览图的命名,是视频的名称,没有扩展名-yulan.jpg

示例:

环太平洋:雷霆再起.2018.2160P.mp4
环太平洋:雷霆再起.2018.2160P-yulan.jpg
古墓丽影.源起之战.2018.2160p.mkv
古墓丽影.源起之战.2018.2160p-yulan.jpg
唐人街探案2.2018.2160P.mp4
王牌特工:特工学院.2014.2160p.mkv
王牌特工:特工学院.2014.2160p-yulan.jpg

就是要找出,没有 "%%~dpni-YuLan.jpg" 这个预览图,视频,建立一个子文件夹,全部移动到子文件夹中。比如Temp。这个示例中的唐人街探案2.2018.2160P.mp4就没有唐人街探案2.2018.2160P-yulan.jpg,所以我要将它移动到子目录Temp中。就是这个意思。

数千视频和预览图都在一个目录里面,是一个NAS,没有子目录。都在同一级目录里。我做了一个磁盘映射到本机H盘。

视频格式有2种 .mp4 .mkv

ren2 -f "(.*)!(.*)" "$1$2"
就是这个致命!,造成的,有的文件名里还有多个!,用了上面的方法去除。也不能完全去除,上面的方法。

TOP

回复 2# idwma


    谢谢,可以用,找到原因了,原来是文件名中有特殊符号的,全部不行,  !  + ,  像这样的,我来想个办法,把文件名中的这些符号去掉。

TOP

  1. md temp
  2. for /f "delims=" %%i in ('dir /b /s /a-d "*.mp4" "*.mkv"') do (
  3. if not exist "%%~dpni-YuLan.jpg" (
  4. move "%%i" temp\
  5. )
  6. )
复制代码
1

评分人数

TOP

返回列表