У меня есть требование вызвать сценарий powershell из микрофокуса COBOL, работающего на корпоративном сервере.
Пример скрипта ниже:
echo "Hello World " | Out-File -FilePath
"C:\test.txt"
Я добавил powershell для выполнения из пакетного скрипта, как показано ниже:
powershell.exe "C:\cbtest.ps1"
Структура WS-COMMAND следующая:
01 WS-COMMAND.
05 COMMAND PIC X(50) VALUE
"/c C:\test.bat".
05 NULL-VALUE PIC X VALUE X'00.
Но когда я запускаю программу COBOL из задания на сервере microfocus, на несколько миллисекунд появляется небольшое окно командной строки, но ничего не происходит.
Пожалуйста, дайте мне знать, что я делаю неправильно.
cmd.exe /c C:\test.bat
, что в основном означает: запуститьcmd.exe
, запустить в нем скриптC:\test.bat
и закрыть (/c
) после завершения скрипта. Доступен ли вообще PowerShell в среде, в которой вы собираетесь его запускать? - person Ansgar Wiechers   schedule 26.11.2018powershell.exe
с полным путем в командном файле? - person Ansgar Wiechers   schedule 26.11.2018CALL SYSTEM
делает внутренний вызовsystem()
, и запуск/c
здесь не поможет... Если вы хотите вызватьpowershell.exe
, просто сделайте это. Пожалуйста, повторите тестирование и опубликуйте фактический образец кода. Подсказка: послеCALL SYSTEM
сделайте что-нибудь сRETURN-CODE
(например,MOVE RETURN-CODE TO PIC-9-08-USAGE-DISPLAY-var DISPLAY PIC-9-08-USAGE-DISPLAY-var UPON SYSERR
(или файл или что-то еще) и исследуйте код, который должен дать вам подсказку о том, что не так. - person Simon Sobisch   schedule 26.11.2018