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