Как передать аргументы в WSL из пакетного файла командной строки?

Я пытаюсь создать пакетный файл, который делает следующее:

  1. cd в определенный каталог на моем компьютере.
  2. Войдите в WSL Ubuntu.
  3. Запустите бинарный файл с некоторыми аргументами.
  4. Закройте терминал командной строки.

Я написал небольшой тестовый пакетный файл. Он пытается выполнить указанные действия. Единственная проблема заключается в том, что как только он откроет терминал bash (в том же окне), он не будет выполнять следующую строку, пока я ВРУЧНУЮ не «выйду» из WSL, а затем попытаюсь ошибочно запустить строку «./PESQ» (как так должно быть).

cd C:/users/jesus/desktop/source/audio
::desired path
bash
::this opens up an ubuntu terminal like session inside CMD
./PESQ
::this is the compiled file, besides, there are more arguments that need to be in that line, (+16000 speech.wav speech_bab_0dB.wav)
pause

При запуске кода я получаю следующий вывод

C:\Users\jesus\Desktop\source\audio>bash jesusb@LAPTOP-08IGLCO1:/mnt/c/Users/jesus/Desktop/source/audio$

Как только я набираю exit, я получаю следующий вывод

C:\Users\jesus\Desktop\source\audio>./PESQ
'.' is not recognized as an internal or external command, operable program or batch file.

C:\Users\jesus\Desktop\source\audio>pause
Press any key to continue . . .`

Как я могу дать команду ./PESQ +16000 speech.wav speech_bab_0dB.wav терминалу bash?


person jesus barraza    schedule 02.07.2019    source источник


Ответы (1)


Вместо использования bash используйте команду wsl в пакетном файле:

wsl ./PESQ +16000 speech.wav speech_bab_0dB.wav
person GaryO    schedule 02.07.2019