Как мне написать командный файл, который открывает оболочку msys и затем запускает команды в оболочке? - PullRequest
0 голосов
/ 13 июня 2019

Я пытаюсь автоматизировать процесс сборки ffmpeg в Windows 10. Я следую инструкции здесь: https://trac.ffmpeg.org/wiki/CompilationGuide/MSVC

Все работает нормально, когда я делаю это вручную, однако я хочу написать командный файл, который я могу запустить, чтобы автоматически пройти весь процесс.

Для сборки требуется, чтобы я настроил среду Visual Studio и среду MSYS. Вот где у меня проблемы, так как запуск среды MSYS открывает новую оболочку. Я хочу передать команды configure / make / make install оболочке MSYS после ее открытия.

Я попробовал решение здесь: Как открыть новую оболочку в cmd, а затем запустить скрипт в новой оболочке?

Проблема, с которой они столкнулись, похожа на мою, но опубликованные там решения не сработали для меня.

Вот файл bat в данный момент:

call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\vcvars64.bat"
call "C:\workspace\windows\mingw-get\msys\1.0\msys.bat" start cmd.exe /k bscript
pause

и bscript:

./configure --enable-shared --toolchain=msvc --arch=amd64
make
make install

Я пробовал всевозможные варианты, такие как:

call "C:\workspace\windows\mingw-get\msys\1.0\msys.bat" /k bscript
call "C:\workspace\windows\mingw-get\msys\1.0\msys.bat" bscript
start "C:\workspace\windows\mingw-get\msys\1.0\msys.bat" /k bscript
start "C:\workspace\windows\mingw-get\msys\1.0\msys.bat" bscript

И я также попытался оставить код bscript в исходном пакетном файле.

Команды configure / make будут либо запускаться в исходном окне cmd, новом окне cmd, либо вообще не будут выполняться.

Есть ли способ передать команды в оболочку MSYS таким образом?

...