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

[文件操作] 批处理如何把视频的横屏竖屏区分开,并移动到不同的文件夹下面

因为下载了很多视频,有横屏的也有竖屏的,就想把它们分类到不同文件夹下面
不知道批处理能实现这个不

TOP

回复 1# zx784523


事先下载 ffmpeg.exe 和下面的 bat 脚本放在一个目录下
  1. @echo off
  2. set "FolderW=横屏"
  3. set "FolderH=竖屏"
  4. if not exist "%FolderW%" (
  5.     md "%FolderW%"
  6. )
  7. if not exist "%FolderH%" (
  8.     md "%FolderH%"
  9. )
  10. for /f "delims=" %%i in ('dir /b /a-d *.mp4') do (
  11.     for /f "tokens=11" %%a in ('ffmpeg -i "%%i" 2^>^&1 ^| find "Video:"') do (
  12.         for /f "tokens=1-2 delims=,x" %%b in ("%%a") do (
  13.             if %%b gtr %%c (
  14.                 move "%%i" "%FolderW%"
  15.             ) else (
  16.                 move "%%i" "%FolderH%"
  17.             )
  18.         )
  19.     )
  20. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 3# Batcher


    大佬不能用啊,横屏的视频好多都是竖屏的,没有区分干净

TOP

后来看到本帖子的哥们,我根据大佬的代码改了下,可以正常使用了,需要下载ffmpeg中的ffprobe

@echo off
REM 1、下载命令行工具 FFmpeg 例如:ffmpeg-n6.0-latest-win64-gpl-6.0.zip
REM https://github.com/BtbN/FFmpeg-Builds/releases
REM 2、解压缩之后把 ffprobe.exe 和此脚本放在同一个文件夹下
cd /d "%~dp0"
set "FolderW=heng"
set "FolderH=shu"
if not exist "%FolderW%" (
    md "%FolderW%"
)
if not exist "%FolderH%" (
    md "%FolderH%"
)
for /f "delims=" %%i in ('dir /b /s /a-d *.mp4') do (
    set "ThisFile=%%i"
    setlocal enabledelayedexpansion
    for /f "tokens=1-2 delims=," %%a in ('ffprobe.exe -v error -select_streams v:0 -show_entries stream^="width,height" -of csv^="p=0" "!ThisFile!"') do (
        set "ThisWidth=%%a"
        set "ThisHeight=%%b"
        if !ThisWidth! geq !ThisHeight! (
            move "%%i" "%FolderW%"
            ) else (
                move "%%i" "%FolderH%"
        )
    )
    endlocal
)
pause

TOP

返回列表