У меня есть файл 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