
Get-ChildItem $pwd -Filter *.mp3 | ForEach-Object -Process{ if($_ -is [System.IO.FileInfo]) { python C:\ffmpeg.py $_.name } } 例如本代码,我要调用 Python 脚本处理音频文件,比如文件夹下有 10 个 MP3,执行的时候 10 线程同时开始的。
1 zhangzhi0000 OP 标题打错了,是 PowerShell |
3 zhangzhi0000 OP @xupefei 我在 mac 上试了下,是单线程顺序执行下来,没问题,之前 win7 运行的时候多个 ffmpeg 进程同时执行,明天我再去试试 |
4 whe 2019-05-23 00:17:11 +08:00 目测是 -Process 的锅 不是 | 的 |
5 zhangzhi0000 OP @whe 亲测不是-Process 的问题,我在 mac 和 win7 都测试了不带-Process,mac 是单个进程执行,win7 是同步执行所有的进程。  mac 和 win7 上都是目前最新的版本( 6.2.1 )  |
6 zhangzhi0000 OP @whe 我知道问题在哪了,是调用的锅,用 Start-Process 带 Wait 参数就可以了。 Start-Process -FilePath ffmpeg -ArgumentList $d -NoNewWindow -Wait |