Как передать аргументы в WSL из командной строки Batch File? - PullRequest
0 голосов
/ 02 июля 2019

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

  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?

1 Ответ

0 голосов
/ 02 июля 2019

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

wsl ./PESQ +16000 speech.wav speech_bab_0dB.wav
...