Powershell 使用WS-COMMAND调用系统在企业服务器上的microfocus COBOL上不起作用

Powershell 使用WS-COMMAND调用系统在企业服务器上的microfocus COBOL上不起作用,powershell,unix,cobol,microfocus,Powershell,Unix,Cobol,Microfocus,我需要从运行在企业服务器上的microfocus COBOL调用powershell脚本 示例脚本如下所示: echo "Hello World " | Out-File -FilePath "C:\test.txt" 我添加了要从批处理脚本执行的powershell,如下所示: powershell.exe "C:\cbtest.ps1" 01 WS-COMMAND. 05 COMMAND PIC X(50) VALUE "/c

我需要从运行在企业服务器上的microfocus COBOL调用powershell脚本

示例脚本如下所示:

echo "Hello World " | Out-File -FilePath           
 "C:\test.txt"
我添加了要从批处理脚本执行的powershell,如下所示:

powershell.exe "C:\cbtest.ps1"
01 WS-COMMAND.
   05 COMMAND        PIC X(50) VALUE 
       "/c C:\test.bat".
   05 NULL-VALUE     PIC X VALUE X'00.
WS-COMMAND的结构如下所示:

powershell.exe "C:\cbtest.ps1"
01 WS-COMMAND.
   05 COMMAND        PIC X(50) VALUE 
       "/c C:\test.bat".
   05 NULL-VALUE     PIC X VALUE X'00.
但是,当我从microfocus服务器上的作业触发COBOL程序时,一个小的命令提示窗口会出现几毫秒,但什么也没有发生

请让我知道我做错了什么。

尝试改变

PIC X VALUE X'00.


我没有使用大型机、COBOL或JCL的经验,但您最后的代码片段看起来应该运行
cmd.exe/c:\test.bat
,这基本上意味着:启动
cmd.exe
,在其中运行脚本
c:\test.bat
,并在脚本终止后关闭(
/c
)。PowerShell在您打算运行它的环境中是否可用?是的,但调用系统本身使用最后一个命令调用cmd.exe。这就是我刚才使用/c:\test.bat的原因。是的,powershell在环境中可用,就好像我在run中运行命令“cmd/c:\test.bat”一样,它会正确触发powershell。您是否尝试在批处理文件中以其完整路径运行
powershell.exe
?据我所知,
调用系统
SYSTEM()进行内部调用
和启动
/c
在这方面没有帮助。。。正如您想调用
powershell.exe
一样,只需这样做。请重新测试并发布您的实际样本代码。提示:在
调用系统后
返回代码
执行操作(例如
将返回代码移动到PIC-9-08-USAGE-DISPLAY-PIC-9-08-USAGE-DISPLAY-var DISPLAY-on SYSERR
(或一个文件或任何地方),并调查代码,该代码应该会给您一些错误提示。缺少的撇号是一个“输入错误”在SO上输入问题时,与请求帮助的问题无关。如果源代码中有问题,则会被捕获为语法错误,并在发布代码片段之前更正。