[英]Batch process wav files with sox within subfolders
我有一个批处理脚本文件,可以将现有的wav
文件转换为 Mono wav 文件,然后创建一个名为“Mono”的文件夹
代码
@echo off && cd /d "%~dp0"
2>nul mkdir "Mono"
set "_sox=C:\Program Files (x86)\sox-14-4-2\sox.exe"
for %%i in ("*.wav") do "%_sox%" -S "%%~fi" "Mono\%%~ni.wav" channels 1
我必须将这个.bat
文件放在我想要转换的文件夹中。 我的文件夹结构正在扩展,我必须 go 手动浏览每个文件夹,放置.bat
文件并运行脚本以获取生成的 mono 文件。
这是我的文件夹结构的示例:
Main Folder
|
|______fold1
| |_____file1.wav
| |_____file2.wav
|
|______fold2
| |_____file1.wav
| |_____file2.wav
|
|______fold3
|_____file1.wav
|_____file2.wav
随着文件夹结构的扩展,我想将.bat
文件放在主文件夹中,运行脚本,脚本将 go 通过每个子文件夹,在每个子文件夹中创建“Mono”文件夹并将转换后的 mono wav 文件放在那里. 这应该是具有转换后的 mono 文件的更新文件结构:
Main Folder
|
|______fold1
| |_____file1.wav
| |_____file2.wav
| |_____Mono
| |______file1.wav
| |______file2.wav
|______fold2
| |_____file1.wav
| |_____file2.wav
| |_____Mono
| |______file1.wav
| |______file2.wav
|______fold3
| |_____file1.wav
| |_____file2.wav
| |_____Mono
| |______file1.wav
| |______file2.wav
请让我知道如何修改.bat
文件来完成此任务。 谢谢!
我会这样做:
@ECHO OFF
SET "_sox=C:\Program Files (x86)\sox-14-4-2\sox.exe"
FOR /F "usebackq delims=" %%A IN (`DIR /B "%~dp0"`) DO (
MKDIR "%~dp0\%%A\Mono" 2> NUL
FOR /F "usebackq delims=" %%B IN (`DIR /B "%~dp0\%%A\*.wav"`) DO (
"%_sox%" -S "%~dp0\%%A\%%B" "%~dp0\%%A\Mono\%%~nB.wav" channels 1
)
)
DIR /B
列出指定文件夹中的每个文件和文件夹。
对于它找到的每个文件夹,它将在其中创建一个 Mono 文件夹,然后为找到的每个.wav
文件运行 sox 命令。
希望这可以帮助。 顺便说一句,爱你的名字
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.