• 批处理系列(10)


    结合本系列文章第一篇,看本文。

    需要ffmpeg,配置ffmpeg到环境变量。

    应用场景:下载一个专辑的有声文件,音轨上固定时间有广告之类的插入,去除掉它。

    这里展示的是去掉开头部分。

    @echo off
    @REM @Author: xianghongai@gmail.com
    title 音频剪辑操作  by:小可(xianghongai@gmail.com)
    SETLOCAL ENABLEDELAYEDEXPANSION
    
    :GTBegin
    cls
    @echo 音频剪辑操作(提前设置好起始时间,备份好原始音频数据)
    @echo --------------------------------------------
    set /p HandleDir=需要处理的目录:
    
    :GTCONTINUE
    cls
    @echo 音频剪辑操作
    @echo --------------------------------------------
    @echo 处理的目录:%HandleDir%
    @echo.
    @echo -----------------1.相同时间段剪辑-----------------
    @echo   11 - 剪辑当前目录
    @echo   12 - 剪辑层级子目录
    @echo -------------------其它-------------------
    @echo   8 - 重新选择目录
    @echo   9 - 退出
    @echo.
    set  GTOperator=9
    set /p GTOperator="选择操作数: "
    @echo.
    
    if %GTOperator% equ 11 goto GTDIRPREFIX
    if %GTOperator% equ 12 goto GTSUBDIRPREFIX
    
    if %GTOperator% equ 8 goto GTBegin
    if %GTOperator% equ 9 goto GTExit
    
    echo 请选择正确的操作数
    pause >nul
    goto GTCONTINUE
    
    rem @echo 不能做文件名称的字符
    rem @echo  / : * ? " < > |
    
    rem 11.当前目录:目录名-文件名
    :GTDIRPREFIX
    cd /d "!HandleDir!"
    for /f "delims=" %%i in ('dir /a-d /b *.MP3 2^>nul') do (
        if not "%~nx0"=="%%i" (
            ffmpeg -ss 00:00:47.666 -i "%%nxi" -acodec copy "O%%~nxi"
        )
    )
    echo 搞定
    pause >nul
    goto GTCONTINUE
    
    rem 12.子目录:子目录名-文件名
    :GTSUBDIRPREFIX
    cd /d "!HandleDir!"
    for /f "usebackq" %%i in (`dir /ad /b /s^|sort /r`) do (
        for /f "usebackq delims=" %%j in (`dir /a-d /b "%%i*.MP3" 2^>nul`) do (
            ffmpeg -ss 00:00:47.666 -i "%%i\%%j" -acodec copy "%%i\%%~nxi-O%%~nxj"
            )   )
    echo 搞定
    pause >nul
    goto GTCONTINUE
    
    
    :GTExit
    exit
    
    

    转载保留原文地址和作者名,只为错误勘正和信息补充。
    版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)

  • 相关阅读:
    ajax异步上传图片&SpringMVC后台代码
    Jdk与Tomcat配置与安装
    Jpa常用注解@Test
    关于ssh和ajax小小总结
    关于EL表达式的大小写问题。谁来帮我解答?
    关于spring管理hibernate事物
    关于session更新的问题
    ssh使用ajax异步通讯. json与对象转换的几个小问题
    通过http Post XML文件的接口 (System.Web.IHttpHandler)
    HTTP Post方法
  • 原文地址:https://www.cnblogs.com/daxiang/p/8572723.html
Copyright © 2020-2023  润新知