На самом деле, я нашел так много решений этого вопроса, но ни один не работает.Программа, которую я хотел бы запустить в Powershell, - это Reaper - цифровая аудиостанция, и я собираюсь использовать инструмент командной строки для пакетной обработки аудиофайлов в сценарии PS.Код, связанный с Reaper, выглядит следующим образом:
reaper -batchconvert $output_path\audio\Reaper_filelist.txt
Я собираюсь использовать параметр Start-Process
с -wait
, чтобы позволить моему сценарию дождаться его окончания, а затем перейти к следующей строке.кода, который является Rename-Item
функцией.
ls $processed_audio_path | Rename-Item -NewName {$_.name.Replace("- ", "")}
Если PS не ожидает завершения процесса, то в следующей строке будет выдано сообщение об ошибке, что-то вроде «такой файл не найден в каталоге».
я нашел следующие предложения: здесь , здесь и здесь .Но ничего из этого не работает.Проблема в том, что Reaper не принимает аргумент для добавления отдельно:
$exe = "reaper"
$arguments = "-batchconvert $output_path\audio\Reaper_filelist.txt"
Start-Process -filepath $exe -argumentlist $arguments -wait
или:
Start-Process -filepath reaper -argumentlist "-batchconvert $output_path\audio\Reaper_filelist.txt" -Wait
или:
Start-Process -filepath reaper -argumentlist @("-batchconvert", "$output_path\audio\Reaper_filelist.txt") -Wait
Можетбез проблем работает только как целый блок, как первая строка кода выше.Так что я могу сделать сейчас?