Board logo

标题: [文件操作] [分享]批处理获取视频文件分辨率并移动到对应的文件夹 [打印本页]

作者: Batcher    时间: 2023-10-28 11:00     标题: [分享]批处理获取视频文件分辨率并移动到对应的文件夹

【问题描述】

将当前文件夹的视频,按分辨率移动到以分辨率命名的文件夹,都是MP4格式
作者: Batcher    时间: 2023-10-28 11:01

【解决方案】

test-1.bat
  1. @echo off
  2. REM 1、下载 FFmpeg 这个命令行工具 ffmpeg-master-latest-win64-gpl.zip
  3. REM https://github.com/BtbN/FFmpeg-Builds/releases
  4. REM 2、解压缩之后找到ffmpeg.exe、ffplay.exe、ffprobe.exe放在其中一个目录下:
  5. REM (1)跟 .bat 脚本放在同一个目录下
  6. REM (2)放在 C:\Windows\System32 目录下
  7. cd /d "%~dp0"
  8. for /f "delims=" %%a in ('dir /b /a-d *.mp4') do (
  9.     echo,%%a
  10.     for /f %%i in ('ffprobe.exe -v error -select_streams v:0 -show_entries stream^="width,height" -of csv^="p=0" "%%a"') do (
  11.         if not exist "%%i" (
  12.             md "%%i"
  13.         )
  14.         move "%%a" "%%i"
  15.     )
  16. )
复制代码

作者: Batcher    时间: 2023-10-28 12:20

test-2.bat
  1. @echo off
  2. REM 1、下载 MediaInfo 这个命令行工具
  3. REM https://mediaarea.net/download/binary/mediainfo/23.10/MediaInfo_CLI_23.10_Windows_x64.zip
  4. REM 2、解压缩之后找到MediaInfo.exe、LIBCURL.DLL放在其中一个目录下:
  5. REM (1)跟 .bat 脚本放在同一个目录下
  6. REM (2)放在 C:\Windows\System32 目录下
  7. cd /d "%~dp0"
  8. for /f "delims=" %%a in ('dir /b /a-d *.mp4') do (
  9.     echo,%%a
  10.     for /f %%i in ('mediainfo.exe --Inform^="Video;%%Width%%x%%Height%%" "%%a"') do (
  11.         if not exist "%%i" (
  12.             md "%%i"
  13.         )
  14.         move "%%a" "%%i"
  15.     )
  16. )
复制代码

作者: 小白来了    时间: 2023-10-28 17:07

666,学习了
作者: czjt1234    时间: 2023-10-28 20:28

回复 2# Batcher


     https://github.com/BtbN/FFmpeg-Builds/releases

这个下载了几天了,总是下了一小半就提示需要用户验证,然后就下载不了

特地注册了帐号,登录后再下载也是一样

这个什么鬼?
作者: DAIC    时间: 2023-10-29 18:10

回复 5# czjt1234


https://521github.com/BtbN/FFmpeg-Builds/releases
右键单击 ffmpeg-n6.0-latest-win64-gpl-6.0.zip
将链接另存为
作者: Batcher    时间: 2023-12-2 11:19

批量删除宽大于高的mp4视频文件
  1. @echo off
  2. REM 1、下载命令行工具 FFmpeg 例如:ffmpeg-n6.0-latest-win64-gpl-6.0.zip
  3. REM https://github.com/BtbN/FFmpeg-Builds/releases
  4. REM 2、解压缩之后把 ffprobe.exe 和此脚本放在同一个文件夹下
  5. cd /d "%~dp0"
  6. for /f "delims=" %%i in ('dir /b /s /a-d *.mp4') do (
  7.     set "ThisFile=%%i"
  8.     setlocal enabledelayedexpansion
  9.     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 (
  10.         set "ThisWidth=%%a"
  11.         set "ThisHeight=%%b"
  12.         if !ThisWidth! geq !ThisHeight! (
  13.             echo File to delete: [!ThisWidth!,!ThisHeight!] "%%i"
  14.             del /f /q "%%i"
  15.         )
  16.     )
  17.     endlocal
  18. )
  19. pause
复制代码





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