[an error occurred while processing this directive]

HP OpenVMS Systems Documentation

Content starts here

OpenVMS 用户手册


前页 目录 索引

5.1.4.2 通配符语法

虽然 DCL 保持扩展文件名的字母大小写,通配符匹配是与字母大小写无关的。

用通配符搜索的操作继续匹配于目标文件同样部分的相应字符。表 5-1 包含一些通配符搜索的例子。

表 5-1 通配符和匹配式样示例
式样... 匹配... ...但不匹配
A*B;* AHAB.;1 A.B;1
A.*.B* A^.DISK.BLOCK;1 A^.C^.B.DAT;1
A?B.TXT;* A^.B.TXT;5 A^.^.B.TXT;1
*.DAT Lots^.of^.Periods.dat;1 DAT.;1
Mil?no.dat Milano.dat;1 Millaano.dat;1
NAPOLI.?.DAT napoli.q.dat;1 napoli.abc77.dat;1

5.2 深目录结构

在 OpenVMS Alpha 上,ODS-2 和 ODS-5 卷结构两者都支持深的目录嵌套,如下所示:

  • 可以有多达 255 级目录。
  • 在 ODS-2 中,目录名格式是 39.39。
  • 在 ODS-5 中,每个目录名长度可以有多达 236 个 8 位或 118 个 16 位字符。

例如,可以建立以下深嵌套的目录:


$ CREATE/DIRECTORY [.a.b.c.d.e.f.g.h.i.j.k.l.m]

在 ODS-5 卷上,可以建立以下长名目录:


$ CREATE/DIRECTORY
[.AVeryLongDirectoryNameWhichHasNothingToDoWithAnythingInParticular]

RMS 要缩写比 255 个字节要长的完整文件说明,使未修改的应用程序可以使用。

5.2.1 目录命名语法

在 ODS-5 卷上,目录名符合大多数使用 ISO Latin-1 字符集命名文件名时同样约定。句点和特殊字符可以出现在目录名中,但是在有些情况下,它们前面必须加上一个音调符号 (^),以便把它们识别为文字字符,如表 5-2 所示。

表 5-2 ODS-5 卷上的目录名
CREATE/DIRECTORY. . . 结果
[Hi^&Bye] Hi^&Bye.DIR;1
[[Lots^.Of^.Periods^.In^.This^.Name] Lots^.Of^.Periods^.In^.This^.Name.DIR;1

5.2.2 目录 ID 和文件 ID 缩写

在有些环境下,完整文件说明可能包含比 255 字节更多的字符,以致于未修改的应用程序不能使用。如果在这样应用程序中的文件说明需要超过 255 字节长度,那么 RMS 将产生一个较短的文件说明,方法是把目录缩写为目录 ID (DID),以及如果必要,把文件名缩写为文件 ID (FID)。

当文件说明太长时,RMS 首先使用它的目录 ID 标识目录尝试产生一个较短的目录说明。这个较短的说明称为 DID。


TEST$ODS5:[5953,9,0]Alghero.TXT;1

注意,这种格式的目录名必须有三个数目和两个逗号,以避免 UIC 格式目录名的二义性。使用 DIRECTORY 命令可以观看文件说明的较短 DID 版本和完整版本。

5.3 使用 DCL 的扩展文件说明分析特性

文件名的默认 DCL 分析样式是用于 ODS-2 式样文件名。

在 DCL 命令行上使用扩展文件名时,需要把分析样式设置为 EXTENDED 才可接受和显示扩展文件说明。要设置分析样式,输入命令:


$ SET PROCESS/PARSE_STYLE=EXTENDED

注意,这个命令在 OpenVMS VAX 系统上没有效果。

在输入这个命令后,DCL 可接受类似以下的文件名:


$ CREATE MY^[FILE

有关详情,可参阅 OpenVMS DCL Dictionary: N--Z 对 SET PROCESS/PARSE_STYLE 命令的描述。

要重新设置 DCL 的默认分析样式,输入以下命令:


$ SET PROCESS/PARSE_STYLE=TRADITIONAL

在输入这个命令后,DCL 只接受 ODS-2 文件名格式。

5.4 能够使用扩展文件说明的地方

有些 DCL 命令和 OpenVMS 公用程序完全支持扩展文件说明。它们已被修改为利用扩展文件名的所有特性。它们可以接受和处理扩展文件说明,而不会出错,并且不会修改字母大小写。另外,它们可以接受和产生超过传统 255 字符限制的长文件说明,使之保存为原始格式1 -- 而不需要把它们缩写为目录 ID (DID) 或文件 ID (FID) 的格式。

默认支持的 DCL 命令和 OpenVMS 公用程序很少或没有修改来利用扩展文件名。预期这些公用程序和命令会正确地处理扩展文件说明的大多数属性 (例如新的字符和深目录结构)。然而,它们可能会以错误的大小写建立或显示文件名。

与完全支持的公用程序相反,默认支持的公用程序依赖于 RMS 提供的 DID 和 FID 缩写来处理长文件说明。结果,这些公用程序服从以下与 DID 和 FID 缩写相关的限制:

  • 在使用 FID 缩写环境中的匹配操作可能不会总是如预期那样工作。例如,通配符匹配操作可能不能找出所有目标文件名,因为长文件名可能表示为数字的 FID 缩写格式。这种限制特别适用于在 RMS 之外执行的匹配操作。
  • 通配符和默认不能与 FID 缩写一起使用。例如,以下命令是非法的:


    $ DIRECTORY a[1,2,3]*.txt
    $ COPY a[1,2,3].txt *.txt2
    

    因为 FID 缩写是文件唯一的数字表示式,它不能用来表示或匹配任何其他文件。
  • 使用 FID 缩写建立文件是非法的。

有关 DID 和 FID 缩写的详情,请参阅 Guide to OpenVMS File Applications

有关特定命令或公用程序的详情,请参阅 OpenVMS 文档集中适当的手册。

不支持扩展文件命名

不支持扩展文件名的 OpenVMS 公用程序和命令可以在 ODS-5 卷上正常工作;然而,它们受限于只处理传统的文件说明。在 ODS-5 卷上,应该小心地使用这些公用程序和命令,因为 Compaq 不能确保它们遇到扩展文件说明时能否成功操作。

不支持 ODS-5

不支持 ODS-5 卷结构的 OpenVMS 公用程序和命令不能处理扩展文件名。在 ODS-5 卷上,应该小心地使用这些公用程序和命令,因为 Compaq 不能确保它们能否成功操作,即使当它们只是处理传统的文件说明。

表 5-3 列出因扩展文件名或 ODS-5 的限制而不支持扩展文件说明的 OpenVMS 公用程序和命令。

表 5-3 不支持的 OpenVMS 组件
组件 注解
不支持 ODS-5
磁盘碎片整理程序 不支持,除非有一个已更新支持 ODS-5 卷的特定碎片整理工具文档。1
不支持扩展文件命名
代码编译程序 不能对目标文件使用扩展文件名。然而,代码编译程序可以建立支持扩展名的应用程序。
INSTALL 已知映象 不要把有扩展文件名的映象安装为已知映象。
LINK 不能输出具有扩展文件名的映象。
MONITOR 不能可靠地处理扩展文件名。
网络文件 (NET*.DAT) 不要改名为一个扩展文件名。
目标模块 (.OBJ) 不要改名为一个扩展文件名。
页和交换文件 不要使用扩展文件名。
SYSGEN 不要写入具有扩展文件名的参数文件。
系统启动文件 不要改名为一个扩展文件名。

1注意,DFO 已被修改以支持 ODS-5 卷。

注意

1 如果您在 DCL 命令行中键入长文件说明,DCL 仍然限制命令行长度为 255 字节 。

5.5 显示扩展文件名的文件

有些 DCL 命令有以下新限定词控制扩展文件名的显示:


/STYLE= [CONDENSED | EXPANDED]

这个限定词允许您控制修改的 DCL 命令如何显示扩展文件名和任何关联的提示。

关键字 CONDENSED 显示建立文件时的文件说明,适合许多公用程序所要求的 255 字节字符串的限制。必要时,这个文件说明可能包含 DID 缩写或 FID 缩写。关键字 EXPANDED 完整地显示存储在磁盘上的文件说明,并且不包含 DID 缩写或 FID 缩写。

以下几节包含 DIRECTORY、TYPE、PURGE 和 DELETE 命令使用 /STYLE 限定词的例子。

5.5.1 DIRECTORY 命令

当观看目录内容时,DIRECTORY 命令允许您选择以什么格式显示文件名:


DIRECTORY/STYLE=(关键字[,关键字])

按照默认,DIRECTORY 命令必要时使用 DID 显示文件名,而不必使用 DID 时则显示完整的目录说明,如同您在以下例子中看到的样子:


$ DIRECTORY

目录 TEST$ODS5:[23,1,0]

abcdefghijklmnopqrstuvwxyABCDEFGHIJKLMNOPQRSTUVWXYabcdefghijklmnopqrs
tuvwxyABCDEFGHIJKLMNOPQRSTUVWXYabcdefghijklmnopqrstuvwxyABCDEFGHIJKLM
NOPQRSTUVWXY.abcdefghijklmnopqrstuvwxyABCDEFGHIJKLMNOPQRSTUVWXYabcdef
ghijklmnopqrst;2

共 1 个文件。

目录 TEST$ODS5:[TEST.RANDOMTESTING.RANDOM]

AddressFiles.DIR;1  LOGIN.COM;3         test.1;1       test^.1.clue;1
Travel.LIS;1        whee.;5       work.dat;8


共 8 个文件。

总计 2 个目录,9 个文件。

DIRECTORY 命令在 /STYLE 限定词中使用这两个关键字,可产生两列目录列表。每列列出所有文件名。CONDENSED 列包含任何需要的 DID 或 FID,而 EXPANDED 列包含完整目录名和文件名。任何文件出错显示在 CONDENSED 列。以下例子展示 DIRECTORY 命令在 /STYLE 限定词中使用这两个关键字的结果:


$ DIRECTORY/STYLE=(CONDENSED,EXPANDED)

目录 TEST$ODS5:[23,1,0]        TEST$ODS5:[TEST.RANDOMTESTING.RANDO
                                    M]

abcdefghijklmnopqrstuvwxyABCDEFGHIJ abcdefghijklmnopqrstuvwxyABCDEFGHIJ
KLMNOPQRSTUVWXYabcdefghijklmnopqrst KLMNOPQRSTUVWXYabcdefghijklmnopqrst
uvwxyABCDEFGHIJKLMNOPQRSTUVWXYabcde uvwxyABCDEFGHIJKLMNOPQRSTUVWXYabcde
fghijklmnopqrstuvwxyABCDEFGHIJKLMNO fghijklmnopqrstuvwxyABCDEFGHIJKLMNO
PQRSTUVWXY.abcdefghijklmnopqrstuvwx PQRSTUVWXY.abcdefghijklmnopqrstuvwx
yABCDEFGHIJKLMNOPQRSTUVWXYabcdefghi yABCDEFGHIJKLMNOPQRSTUVWXYabcdefghi
jklmnopqrst;2                       jklmnopqrst;2
AddressFiles.DIR;1                  AddressFiles.DIR;1
LOGIN.COM;3                         LOGIN.COM;3
test.1;1                            test.1;1
test^.1.clue;1                      test^.1.clue;1
Travel.LIS;1                        Travel.LIS;1
whee.;5                             whee.;5
work.dat;8                          work.dat;8


共 8 个文件。

DIRECTORY 命令可以在 /STYLE 限定词中使用一个或两个关键字。

5.5.2 TYPE 命令

当显示文件和提示时,TYPE 命令接受 /STYLE 限定词选择显示在系统消息中的文件名格式:


$ TYPE/STYLE=(keyword)

这个例子展示 TYPE 命令使用 TYPE=EXPANDED 和 CONFIRM 限定词:


$ TYPE/CONFIRM/STYLE=EXPANDED abc*.*rst;2
TYPE TEST$ODS5:[TEST.RANDOMTESTING.RANDOM]abcdefghijklmnopqrstuvwxyzABCDEF
GHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYabc
defghijklmnopqrstuvwxyzGHIJKLMNOPQRSTUVWXYabcdefghijklmnopqrst;2 ? [N]: Y

[System outputs contents of file]

5.5.3 DELETE 命令

DELETE 命令接受 /STYLE 限定词,选择执行该命令时显示的文件名格式:


$DELETE/STYLE=(keyword)

在以下例子中,省略号 (...) 表示在文件名中的许多字符。这些例子使用 CONFIRM 限定词产生系统消息。

DELETE 使用默认值 (CONDENSED):


$ DELETE/CONFIRM abc*.*.*
DELETE TEST$ODS5:[TEST.RANDOMTESTING.RANDOM]abcAlphabet.stuff;1 ? [N]: Y
DELETE TEST$ODS5:[23,1,0] abcdefg. . .QRSTUVWXY.abcdefg. . .tuvw
xy;1 ? [N]: Y

如果需要完整文件说明,DELETE 命令与 /STYLE 限定词和 EXPANDED 关键字一起使用 :


$ DELETE/CONFIRM/STYLE=EXPANDED abc*.*.*
DELETE TEST$ODS5:[TEST.RANDOMTESTING.RANDOM]abcAlphabet.stuff;1 ? [N]: Y
DELETE TEST$ODS5:[TEST.RANDOMTESTING.RANDOM]abcdefg. . .QRSTUVWX
Y.abcdefg. . .tuvwxy;1 ? [N]: Y

5.5.4 PURGE 命令

PURGE 命令接受 /STYLE 限定词,选择执行该命令时显示的文件名格式:


$ PURGE/STYLE=(keyword)

在以下例子中,省略号 (...) 表示在文件名中的许多字符。这些例子使用 CONFIRM 限定词产生系统消息。

PURGE 使用默认值 (CONDENSED):


$ PURGE/CONFIRM
DELETE TEST$ODS5:[23,1,0]abcdefg. . .QRSTUVWXY.abcdefg. . .tuvwxy;1
? [N]: Y

如果需要完整文件说明,PURGE 命令与 /STYLE 限定词和 EXPANDED 关键字一起使用:


$ PURGE/CONFIRM/STYLE=EXPANDED
DELETE TEST$ODS5:[TEST.RANDOMTESTING.RANDOM]abcdefg. . .QRSTUVWXY.ab
cdefg. . .tuvwxy;1 ? [N]: Y

5.6 终端显示扩展文件名

要显示扩展文件名,终端必须设置为显示 ISO Latin-1 字符集。否则,终端显示的字符可能不匹配 PC 展示的效果。要观看或更改终端显示的字符集,使用终端设置对话框 。选择显示字符集的任选项通常可以在 General 标签处找到。

DEC 多国字符集和 ISO Latin-1 字符集的不同字符列在附录 A 中。

5.7 在混合环境下工作

如果系统运行 OpenVMS Alpha V7.2 或更高版本,您可以利用在 ODS-5 卷上的所有扩展文件说明的能力。您也可以继续存取 V7.2 之前版本的文件和目录。例如,您可以做以下所有事情:

  • 在 ODS-2 卷上建立和存取深目录结构
  • 读取在 OpenVMS 早期版本建立的 BACKUP 保存集
  • 把 ODS-5 名的文件复制到运行 OpenVMS 早期版本的系统上 ODS-2 名的文件

如果工作在混合版本或混合体系机构的 OpenVMS Cluster 环境中,会有一些限制。运行 OpenVMS 以前版本的系统不能装上 ODS-5 卷、正确地处理扩展文件名或者看到扩展文件名。在 OpenVMS V7.2 以前版本的用户不能存取在 ODS-5 卷上的任何文件。这确实如此,不管该卷是否物理连接到 CI 或 SCSI 总线,或者通过 MSCP 或 QIO 服务器。这些用户也不能建立或恢复 ODS-5 映象的保存集。然而,他们可以从 ODS-5 保存集中恢复 ODS-2 兼容的文件名。

OpenVMS V7.2 VAX 系统局限于以下扩展文件说明功能:

  • 装上 ODS-5 卷的能力。
  • 在 ODS-5 卷上写入和管理 ODS-2 兼容文件的能力。
  • 存取 ODS-5 文件说明时,查看假名 ( \pISO_LATIN\.???\pUNICODE\.??? ) 的能力。

工作在包含 OpenVMS Alpha 和 OpenVMS VAX 系统的环境下时,知道以下事情是重要的:

  • 系统类型和操作系统版本
  • 默认目录是基于 ODS-2 还是基于 ODS-5 
  • 建立文件的目的地是 ODS-2 卷还是 ODS-5 卷

OpenVMS 7.2 允许 VAX 系统装上 ODS-5 卷;然而,在 OpenVMS VAX 系统中的用户只可以存取 ODS-2 兼容文件名的文件。

在 OpenVMS Alpha 系统上,您可以挑选是否把一个卷转换为 ODS-5。如果工作在 ODS-2 和 ODS-5 卷的混合环境,那么在 ODS-5 卷上建立文件时应当紧记 ODS-2 文件名的限制。如果要把一个在其文件名中有特殊字符的文件从 ODS-5 复制到 ODS-2 卷,您必须给它一个 ODS-2 兼容的名称。


前页 后页 目录 索引