gpt4 book ai didi

batch-file - 尝试使用SOX修剪和淡化远程文件夹中的多个WAV文件

转载 作者:行者123 更新时间:2023-12-03 01:54:35 24 4
gpt4 key购买 nike

我正在尝试创建一个文件,以便在将一系列wav文件拖放到批处理脚本时使用它。将wavs复制到子目录(/ webclips),用下划线替换空格,然后尝试将所有新的wav文件从开始修剪到45秒。最终我会淡化它们...
现在,脚本可以很好地复制,但是在运行trim命令时却出现了一些错误:
sox WARN wav:.wav输入文件上的EOF过早
sox WARN trim:未到达最后2个位置(音频比预期的短)。

新的wavs文件大小(不正确)为1Kb。任何帮助,将不胜感激。

这是我的剧本

set FOLDERPATH=%~dp0
set FILEPATH=%~dp1
mkdir "%FILEPATH%webclips"
FOR %%A IN (%*) DO (copy %%A "%FILEPATH%webclips")
cd "%FILEPATH%webclips"
for %%j in (*.*) do (
set filename=%%~nj
set filename=!filename:.=_!
set filename=!filename: =_!
if not "!filename!"=="%%~nj" ren "%%j" "!filename!%%~xj"
)
c:
cd/
CD "Program Files (x86)\sox-14-4-2"
for %%A in ("%FILEPATH%webclips\*.wav") do sox "%%A" "%FILEPATH%webclips\%%~nxA" trim 0 45
pause

最佳答案

在最后一行,sox覆盖了搜索到的.wav文件。对于sox,它不能那样做。

因此,可以删除将原始.wav文件复制到子文件夹的操作。
!variable!是延迟格式,必须在其之前声明setlocal enabledelayedexpansion

批处理文件也可以简化如下,

@echo off
setlocal enabledelayedexpansion
for %%a in (%*) do (
if not exist "%%~dpawebclips\" md "%%~dpawebclips\"
set file_name=%%~na
set file_name=!file_name: =_!
set file_name=!file_name:.=_!
ren %%a !file_name!%%~xa
"%ProgramFiles(x86)%\sox-14-4-2\sox.exe" "%%~dpa!file_name!%%~xa" "%%~dpawebclips\!file_name!%%~xa" trim 0 45
)
pause
exit /b

关于batch-file - 尝试使用SOX修剪和淡化远程文件夹中的多个WAV文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36524377/

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