【发布时间】:2018-03-02 10:43:14
【问题描述】:
我需要处理一些音频文件。每个文件都必须经过多个顺序步骤,为此我编写了一个批处理文件。但为了速度,我希望并行处理文件夹中的所有文件。所以我写了另一个批处理文件,它在循环中调用第一个批处理文件。但是当我这样做时,我最终会得到多个命令窗口,即使批处理文件已关闭,这些窗口也会保持打开状态。
按照优先顺序,我怎样才能(a)根本不打开窗口,或者(b)最小化窗口然后在完成时关闭;或 (c) 打开窗口,完成后关闭。
for %%I in (*.mp3) DO (
start convert-mp3-to-m4b.bat "%%I"
)
我通过start cmd /c convert-mp3-to-m4b.bat "%%I" /B 成功实现了 (c),但这更多是靠运气而不是判断。
【问题讨论】:
-
你在问答案 - 使用
CALL关键字:call convert-mp3-to-m4b.bat "%%I" -
还要检查bat是否直接使用EXIT命令,改成
exit /b -
@npocmaka
call不会并行运行进程... -
然后
start "" /b convert-mp3-to-m4b.bat "%%I" -
start /min以最小化运行它们。注意:如果您的.mp3太多,您的计算机可能会耗尽资源。请参阅 here 以一次运行最多<n>个文件。
标签: windows batch-file