【发布时间】:2023-03-16 23:36:01
【问题描述】:
我有一个 VB.net 应用程序,它导入一个名为 resource_NAMEOFEXE.txt 的文件,当我的流阅读器仅将“resource_NAMEOFEXE.txt”作为位置时,它假定为本地的,我猜测,并在用户运行时正确读取文件。
然后我尝试运行应该运行 exe 的 jcl 作业,但程序无法自动找到本地路径。所以我尝试将本地路径硬编码到 exe 本身中,并且 jcl 运行和用户都运行正确导入的程序。注意:jcl在大型机上,exe在服务器上。
//SFARENAM EXEC P2CUCMD
//SCRIPT DD *
"\\<serverName>\$APPLE\testAndRename.exe"
/*
//UCMDOPT DD DISP=SHR,DSN=IC.D2C.UCMDOPT.FILE(UZAO0001)
//SYSIN DD *
-s SCRIPT
-host <servername>
-userid <userid>
-script SCRIPT
-x UCMDOPT
/*
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//
这可能是 JCL 问题,还是我应该以特殊方式格式化 vb.net 位置以询问本地 exe 位置。
【问题讨论】:
-
听起来应用程序只是在当前的“工作目录”中查找运行它的 shell 上下文。当“双击”它时,该工作目录是当前目录,我猜这是文件所在的位置。在编写脚本时,该脚本的 shell 上下文的工作目录可以是任何东西。我建议应用程序默认为它当前的默认值,但接受一个命令行参数来指定文件(覆盖默认值)。然后,应用程序的任何脚本都可以在需要时提供该参数。
-
什么是 P2CUCMD?这不是我熟悉的 IBM 分布式 proc。我们需要的最重要的东西是什么是 PGM= 以及这是什么产品。 David 可能也在正确的道路上,因为当通过 BPXBATCH 执行脚本时,可能会出现当前目录问题,此时 RACF HOME 设置可以发挥作用。
标签: vb.net vbscript directory jcl