gpt4 book ai didi

windows - 如何修改此 Windows 脚本以进行匹配?

转载 作者:行者123 更新时间:2023-12-04 23:28:04 25 4
gpt4 key购买 nike

ffmpeg 可以调整视频/图像文件的大小 .. 首先是 input_file .. 参数 .. output_file ..

ffmpeg -i input.avi -vf scale=320:240 output.avi

或者
ffmpeg -i 20140724_071746.mp4 -vf scale=640:-1 20140724_071746_LOW_640.mp4

更多信息: https://trac.ffmpeg.org/wiki/Scaling%20%28resizing%29%20with%20ffmpeg

我希望它缩小我的 microSD 卡上的所有视频以创建空间(我有原件备份)

所以我希望它在一夜之间把所有子目录中的所有文件都扔掉并调整所有文件的大小。脚本可能会停止或崩溃,我需要再次运行它,或者如果我添加新文件,我想再次运行它。

所以我希望它跳过处理所有已处理的文件及其调整大小的版本。

就我而言,如果 FILE_NAME.mp4还有 FILE_NAME_LOW_640.mp4跳过它

如果是 FILE_NAME_LOW_640.mp4*640跳过它

到目前为止,这是我的 Windows 批处理脚本
REM @echo off
REM just save as "DOS"
REM cd /d C:\s

setlocal enabledelayedexpansion
for %%j in (*.mp4) do (
set filename=%%~nj
echo %%j

ffmpeg -i %%j -vf scale=640:-1 %%j_LOW_640.mp4

REM but now I want to add the two checks to skip files that have been resized .. or if they are the resized version

REM if not "!filename!"=="%%j_LOW_640.mp4" AND IF FILE !COINTAIN *640* THEN ffmpeg -i %%j -vf scale=640:-1 %%j_LOW_640.mp4

)

pause
REM AND I would also want it to process all the sub-directories

换句话说,我寻求帮助的问题是:
  • 如果字符串包含字符串匹配,我该如何检查它?
  • 如何让我的脚本也处理所有子目录?
  • 最佳答案

    我希望方法足够简单,所以不需要解释。您可以在 HELP FOR 阅读更多关于 FOR 参数修饰符的详细信息。

    @echo off
    setlocal EnableDelayedExpansion

    for /F "delims=" %%a in ('dir /S /B *.mp4') do (
    set "name=%%~Na"
    if "!name:~-3!" neq "640" if not exist "%%~DPNa_LOW_640.mp4" (
    ffmpeg -i "%%a" -vf scale=640:-1 "%%~DPNa_LOW_640.mp4"
    )
    )

    关于windows - 如何修改此 Windows 脚本以进行匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34908015/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com