【发布时间】:2025-11-21 23:50:02
【问题描述】:
我对 VMS 目录结构不太熟悉。所以,我在 VMS 上安装了一个应用程序。启动应用程序时收到错误消息...我知道这只是目录路径问题。该应用程序使用用户 SYSTEM 安装在 DKA0:[TEST.ONE] 上,用户 SYSTEM 的主目录是 SYS$SYSROOT:[SYSMGR]。现在,当我启动应用程序时,我得到了以下信息:
**%DCL-W-DIRECT, invalid directory syntax - check brackets and other delimiters \SYS$SYSROOT:[SYSMGRDKA0\**
注意SYSMGRDKA0\。
现在,我的问题是..有没有办法将目录从 DKA0:[TEST.ONE] 更改为 SYS$SYSROOT:[SYSMGR] ?我尝试了以下方法:
$ set def SYS$SYSROOT:[SYSMGR]DKA0:[TEST.ONE]
%DCL-W-PARMDEL, invalid parameter delimiter - check use of special characters
\:\
提前致谢! 乔伊
【问题讨论】:
-
您可以尝试将默认值设置为应用程序的目录:
$ set default DKA0:[TEST.ONE]。或者,假设您使用的是系统根0,请尝试$ set default Sys$SysDevice:[SYS0.SYSMGR]。目前尚不清楚导致问题的应用程序正在做什么,但它可能与根目录或搜索路径有关。 -
@HABO 嗨,哈博,感谢您的回复。是的,应用程序有配置文件,其中有一个应用程序安装目录的变量。此变量已设置为 DKA0:[TEST.ONE] 。但由于某种原因,当我启动应用程序时,它试图访问路径 [SYSMGRDKA0,我不知道该路径是否为 vlaid。正如您在此处看到的...%DCL-W-DIRECT,无效的目录语法 - 检查括号和其他分隔符。 \SYS$SYSROOT:[SYSMGRDKA0\
-
@HABO,嗨,HABO,这是我找到的。我跟踪了应用程序的启动脚本。看起来 SYS$SYSROOT:[SYSMGR] 与 DKA0:[TEST.ONE] 连接,因此工作目录是 SYS$SYSROOT:[SYSMGRDKA0:[TEST.ONE]] 。这是有效的吗?提前谢谢你?
-
这是无效的。简单视图是
Device:[Dir.SubDir.SubSubDir]。 (Sys$SysRoot是一个逻辑名称,它是一个搜索列表,即有多个翻译,这很复杂。)您能否编辑您的问题以包含“启动脚本”,我假设它是一个 DCL 命令程序?这可能会提供关于为什么它正在组合路径的线索。 -
@HABO,嗨,Habo,我设法让它工作了。在启动脚本中,我只是删除了 systemroot 目录的连接,这样工作目录就只有 DKA0:[TEST.ONE]..再次感谢!
标签: directory-structure openvms