Batch file 如何在目录的整个内容上运行批处理文件?
我在批处理文件中使用命令行程序来转换不同的音频格式。但是,我想自动读取文件夹的所有文件名,然后在文件夹的所有文件上运行可执行文件 这是可执行文件(test.exe)的格式-o'是从源文件infle.dsp输出新文件output.wav的参数Batch file 如何在目录的整个内容上运行批处理文件?,batch-file,audio,directory,command-line-arguments,Batch File,Audio,Directory,Command Line Arguments,我在批处理文件中使用命令行程序来转换不同的音频格式。但是,我想自动读取文件夹的所有文件名,然后在文件夹的所有文件上运行可执行文件 这是可执行文件(test.exe)的格式-o'是从源文件infle.dsp输出新文件output.wav的参数 start test -o outfile.wav infile.dsp “Outfile.wav”应基于文件夹中的源文件名。我应该在每个.dsp文件的源文件夹中放置'infle.dsp'和'infle.wav',而不是'infle.dsp'和'infle
start test -o outfile.wav infile.dsp
“Outfile.wav”应基于文件夹中的源文件名。我应该在每个.dsp文件的源文件夹中放置'infle.dsp'和'infle.wav',而不是'infle.dsp'和'infle.wav'。试试以下方法:
for /f "delims==" %%i in ('dir "dirTheyAreIn" /b') do (start /wait "" "test -o %%~ni.wav %%i")
在命令行中使用%而不是%%<代码>;)代码>这有一些更改:输入文件的路径和exe文件的路径
@echo off
pushd "c:\folder\with audio files\"
for /f "delims=" %%a in ('dir *.* /b /a-d ') do (
"d:\util\test.exe" -o "%%~na.wav" "%%a"
)
popd
你能解释一下吗?我是否需要在“delims==”中添加一些内容,或者更改“dirTheyAreIn”的名称或其他内容?将dirTheyAreIn更改为内嵌所在的目录,并在输出口前面添加相同的路径。这一路径似乎有效。第4行的“%%a”需要去掉引号,但在那之后,它工作正常!