Board logo

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

作者: zx784523    时间: 2020-6-3 18:35     标题: 批处理如何把视频的横屏竖屏区分开,并移动到不同的文件夹下面

因为下载了很多视频,有横屏的也有竖屏的,就想把它们分类到不同文件夹下面
不知道批处理能实现这个不
作者: smss    时间: 2020-6-3 20:34

改改就能用了
https://zhidao.baidu.com/questio ... 5%B7%D6%B1%E6%C2%CA
作者: Batcher    时间: 2020-6-3 23:08

回复 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. )
复制代码

作者: wangzishu12    时间: 2024-3-21 14:44

回复 3# Batcher


    大佬不能用啊,横屏的视频好多都是竖屏的,没有区分干净
作者: wangzishu12    时间: 2024-3-21 15:45

后来看到本帖子的哥们,我根据大佬的代码改了下,可以正常使用了,需要下载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




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2