With extended file names, there are two possible naming styles
for file specifications: traditional (ODS-2 compliant) and
extended (ODS-5 compliant). The following topics describe these
naming styles.
See also the OpenVMS User's Manual and the Guide to OpenVMS File
Applications for more information about file specifications in
Extended File Specifications.
1 – ODS-2 Syntax
The traditional (ODS-2) file name syntax is the syntax most
OpenVMS users have been accustomed to up to the advent of
extended file names. OpenVMS Versions 7.1 and earlier follow this
syntax, which supports the following character set and naming
conventions.
ODS-2 Character Set
The ODS-2 character set consists of alphanumeric characters (A-Z,
a-z, 0-9), dollar sign ($), underscore (_) and hyphen (-). The
hyphen (-) should not be used as the first or last character in a
file name. While it is possible to do this under some conditions,
special handling is required to access such a file once created.
Case Insensitivity
Case preservation is not supported with traditional syntax.
Commands may be entered in uppercase, lowercase, or mixed case;
however, all characters are stored in uppercase format.
Standard Delimiters
With traditional syntax, the file type is preceded by a period
(.). The file version is separated from the type by a semicolon
(;) or sometimes a period (.). (When the system displays file
specifications, it displays a semicolon in front of the file
version number.) Directories are enclosed by brackets ([]) or
angle brackets (<>). Directory levels are separated by periods
(.).
Limited File Length
Traditional file names follow the 39.39 format, supporting only a
single period (.) separating the name and type components.
2 – ODS-5 Syntax
The extended (ODS-5) file name syntax offered by Extended File
Specifications supports a larger character set and relaxes
restrictions on lengths of file names and use of characters. This
syntax allows Windows NT-style file names that use the following
character set and naming conventions to be stored on and accessed
by OpenVMS systems.
2.1 – Character Set Support
The ISO Latin-1 Multinational character set is a superset
of the traditional ASCII character set used by versions of
OpenVMS previous to 7.2. With extended file specifications, all
characters from the 8-bit ISO Latin-1 Multinational character set
are valid in file specifications, except the following:
C0 control codes (0x00 to 0x1F inclusive)
Double quotation marks (")
Asterisk (*)
Backslash (\)
Colon (:)
Left angle bracket (<)
Right angle bracket (>)
Slash (/)
Question mark (?)
Vertical bar (|)
File specifications on an ODS-5 volume can also include Unicode
(UCS-2) characters. Because each Unicode character requires
two bytes, the use of Unicode characters can affect the maximum
permitted lengths of file specifications.
2.2 – Special Characters
Some ISO Latin-1 characters require the circumflex (^) to precede
them in a file specification in order to be interpreted as
literal characters rather than special function characters.
The circumflex (^) is interpreted by the system as an escape
character.
o The circumflex (^) followed by underscore (_) or by a space
represents a space.
o The circumflex (^) followed by any of the following characters
means that the character is to be used as part of a file name
rather than having any special meaning that it might otherwise
have in a file specification:
. , ; [ ] % ^ &
o A user can enter a literal period (.) with or without the
circumflex (^) in a file name. The system adds the circumflex
to any periods other than those that act as delimiters for the
file type and version number. Literal periods (.) in directory
names must be preceded by the circumflex.
File names containing special characters cannot be accessed
from a VAX system.
2.3 – Interpretation of Period
The introduction of the period (.) as a literal character in
extended file names requires RMS to determine which periods are
file name characters and which are delimiters.
When only one period (.) is used in an extended file name, that
period is interpreted as the delimiter, as in "Venice.Venezia;1"
above. As in previous versions of OpenVMS, this behavior also
occurs if the single period is followed by a number:
$ CREATE Test.1
creates the file:
Test.1;1
When there are multiple periods (.) in a file name, the system
looks at all the characters after the last period. If those
characters are five or fewer digits, or a minus sign (-) followed
by five or fewer digits, the period is interpreted as a version
delimiter and the period previous to it is a type delimiter.
Notice that a legal version is less than or equal to 32767.
If you try to create the file "grandioso.x.33333", the "33333"
causes an illegal version error. If there is a nonnumeric
character following the last period then it is interpreted as
a type delimiter.
For example, the following command: $ CREATE Test4.3.2.1
creates the file: Test4^.3.2;1
where .2 is the file type and 1 is the file version.
3 – Expanded File Specification Length
On an ODS-5 volume, the file name together with the file type
can be up to 236 8-bit characters of 117 16-bit characters in
length. Unmodified programs and utilities may limit or abbreviate
complete file specifications to 255 bytes.
$ CREATE This.File.Name.Has.A.Lot.Of.Periods.DAT
$ CREATE -
_$ ThisIsAVeryLongFileName^&ItWillKeepGoingForLotsAndLotsOfCha -
_$ racters.ExceedingThe39^,39presentInPreviousVersionsOfOpenVMS
$ DIRECTORY
Directory TEST$ODS5:[TESTING]
ThisIsAVeryLongFileName^&ItWillKeepGoingForLotsAndLotsOfCharac
ters.ExceedingThe39^,39presentInPreviousVersionsOfOpenVMS;1
This^.File^.Name^.Has^.A^.Lot^.Of^.Periods.DAT;1
Total of 2 files.
4 – Case Preservation
Mixed-case and lowercase file names are retained in their
original form on ODS-5 volumes. However, the file system on
OpenVMS preserves the case of file names as they are first
entered. When you create more than one file with the same name
differing only in case, DCL treats the subsequent files as
versions, and converts them to the same case as the original
file.
For example, the following commands:
$ CREATE CaPri.;1
$ CREATE CAPRI
$ CREATE capri
produce the resulting files:
CaPri.;1 CaPri.;2 CaPri.;3
5 – Using Wildcards
Single- and multiple-character wildcards still function as
expected with ODS-5 files. A single-character wildcard represents
exactly one character in either the file name or file type, but
may not be used in the file version string. A multiple-character
wildcard can represent any number of characters starting with
zero in the file name or file type. A multiple-character wildcard
can be used in place of a version string.
5.1 – Wildcard Characters
The following characters are wildcard characters when working on
any OpenVMS 7.2 or later volume:
o The asterisk (*) is a multiple-character wildcard.
o The percent sign (%) is a single-character wildcard.
o The question mark (?) is a single-character wildcard.
The percent sign (%) continues to be a single-character wildcard
to maintain compatibility with existing applications. The percent
sign (%) may be used as a literal character when preceded by
the circumflex (^) and is also a literal character in Windows NT
file names. Therefore, in addition to the percent sign, RMS also
recognizes the question mark (?) as a single character wildcard.
The question mark functions identically to the percent sign as
a wildcard character on OpenVMS 7.2 and later. The percent sign
and the question mark matches exactly one character in a search
pattern.
5.2 – Wildcard Syntax
Although DCL preserves the case of extended file names, wildcard
matching is case blind.
When you perform a search operation with wildcards it continues
to match only against the corresponding character in the same
part of the target specification. The following table contains
examples of some wildcard searches.
The
pattern... matches... ...but doesn't match
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;1DAT.;1
Mil?no.dat Milano.dat;1 Millaano.dat;1
NAPOLI.?.DAT napoli.q.dat;1 napoli.abc77.dat;1
6 – Case Sensitivity and Blindness
In prior versions of OpenVMS, DCL and RMS converted all
file specifications to uppercase. When using Extended File
Specifications, the case of all file names is preserved as
created by the user.
Files and directories can have mixed case names in extended file
names.
Original
file name ODS-2 Volume ODS-5 Volume
MILANO;1 MILANO.;1 MILANO.;1
SanRemo SANREMO.;1 SanRemo.;1
genoa..1 GENOA.;1 genoa.;1