Включение летучей мыши с аргументами (которая запускает окно cmd и добавляет команды к пути) в другую летучую мышь - PullRequest
0 голосов
/ 02 января 2019

У меня есть файл bat, выполняющий команду:

C:\Windows\System32\cmd.exe /E:ON /V:ON /K ""C:\Program Files (x86)\path\to\the\compilers\script.bat" option1 option2"

В основном он открывает окна cmd, для которых уже находятся различные команды (компиляторы Intel и т. Д.).Затем в этом командном окне я cd в определенном месте и использую эти команды intel следующим образом:

ifort -c -fpp file1.f90
ifort -c -fpp file2.f90
ifort -c -fpp file3.f90
ifort -dll -o libfinal.dll file1.obj file2.obj file3.obj
lib /out:./libfinal.lib file1.obj file2.obj file3.obj
xcopy /s .\libfinal.dll "..\libfinal.dll*" /Y
xcopy /s .\libfinal.lib "..\libfinal.lib*" /Y

, которые компилируются (с ifort intel fortran compiler, но вопрос не зависитна нем) библиотеки и где-то их копирует.

Я бы обернул все вышеперечисленное в один файл bat, выполняя всю работу.Я придумал:

call ""C:\Program Files (x86)\path\to\the\compilers\script.bat" option1 option2"
ifort -c -fpp file1.f90
ifort -c -fpp file2.f90
ifort -c -fpp file3.f90
ifort -dll -o libfinal.dll file1.obj file2.obj file3.obj
lib /out:./libfinal.lib file1.obj file2.obj file3.obj
xcopy /s .\libfinal.dll "..\libfinal.dll*" /Y
xcopy /s .\libfinal.lib "..\libfinal.lib*" /Y

, но при запуске он дает мне следующее:

'""C:\Program' is not recognized as an internal or external command

Я проверил Ошибка командной строки «C: \ Program» не распознается каквнутренняя или внешняя команда, работающая программа или пакетный файл , но мне не удалось адаптироваться к моей ситуации

Примечание. option1 и option2 не имеют пробелов или чего-либо ещетребует цитирования, и если я использую call "C:\Program Files (x86)\path\to\the\compilers\script.bat" option1 option2, у меня появляется следующая ошибка:

The input line is too long.
The syntax of the command is incorrect.

Примечание. Истинное содержание строки call:

call "C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.4.210\windows\bin\ipsxe-comp-vars.bat" intel64 vs2015
...