Creates one or more new directories or subdirectories. The /DIRECTORY qualifier is required. Requires write (W) access to the master file directory (MFD) to create a first-level directory. On a system volume, generally only users with a system user identification code (UIC) or the SYSPRV (system privilege) or BYPASS user privileges have write (W) access to the MFD to create a first-level directory. Requires write (W) access to the lowest level directory that currently exists to create a subdirectory. Format CREATE/DIRECTORY directory-spec[,...]
1 – Parameter
directory-spec[,...] Specifies the name of one or more directories or subdirectories to be created. The directory specification optionally can be preceded by a device name (and colon [:]). The default is the current default directory. Wildcard characters are not allowed. When you create a subdirectory, separate the names of the directory levels with periods (.). Note that it is possible to create a series of nested subdirectories with a single CREATE/DIRECTORY command. For example, [a.b.c] can be created, even though neither [a.b] nor [a] exists at the time the command is entered. Each subdirectory will be created, starting with the highest level and proceeding downward.
2 – Description
The CREATE/DIRECTORY command creates new directories as well as subdirectories. Special privileges are needed to create new first-level directories. (See the restrictions noted above.) Generally, users have sufficient privileges to create subdirectories in their own directories. Use the SET DEFAULT command to move from one directory to another.
3 – Qualifiers
3.1 /ALLOCATION
/ALLOCATION=n Specifies the initial number of blocks to be allocated to each of the specified directories. The default allocation is 1 block. This qualifier is useful for creating large directories, for example MAIL.DIR;1. It can improve performance by avoiding the need for later dynamic expansion of the directory. This qualifier does not apply to Files-11 ODS-1, ODS-3, or ODS-4 volumes.
3.2 /LOG
/LOG /NOLOG (default) Controls whether the CREATE/DIRECTORY command displays the directory specification of each directory after creating it.
3.3 /OWNER_UIC
/OWNER_UIC=option Requires SYSPRV (system privilege) privilege for a user identification code (UIC) other than your own. Specifies the owner UIC for the directory. The default is your UIC. You can specify the keyword PARENT in place of a UIC to mean the UIC of the parent (next-higher-level) directory. If a user with privileges creates a subdirectory, by default, the owner of the subdirectory will be the owner of the parent directory (or the owner of the MFD, if creating a main level directory). If you do not specify the /OWNER_UIC qualifier when creating a directory, the command assigns ownership as follows: (1) if you specify the directory name in either alphanumeric or subdirectory format, the default is your UIC (unless you are privileged, in which case the UIC defaults to the parent directory); (2) if you specify the directory in UIC format, the default is the specified UIC. Specify the UIC by using standard UIC format as described in the OpenVMS User's Manual.
3.4 /PROTECTION
/PROTECTION=(ownership[:access][,...]) Specifies protection for the directory. o Specify the ownership parameter as system (S), owner (O), group (G), or world (W). o Specify the access parameter as read (R), write (W), execute (E), or delete (D). The default protection is the protection of the parent directory (the next-higher level directory, or the master directory for top-level directories) minus any delete (D) access. If you are creating a first-level directory, then the next- higher-level directory is the MFD. (The protection of the MFD is established by the INITIALIZE command.) For more information on specifying protection code, see the VSI OpenVMS Guide to System Security.
3.5 /VERSION_LIMIT
/VERSION_LIMIT[=n] Sets the maximum number of versions that files in the directory can have. If you do not set a version limit, a value of 0 is used, indicating that the number of file versions is limited only to the Files-11 architectural limit of 32,767. If you change the version limit for a directory, the new version limit applies only to files created after the change has been made. When creating a file, if the total number of versions of that file name exceeds the specified version limit, then the file with the lowest version number is deleted from the directory without notification to the user. The version limit set on a directory has no effect on the version limit set on a particular file in that directory. To set a version limit on a particular file in a directory, use the SET FILE/VERSION_LIMIT[=n] command. To view the version limit on a directory, use the DIRECTORY/FULL command on a directory file and look at the File Attributes field of the output.
3.6 /VOLUME
/VOLUME=n Requests that the directory file be placed on the specified relative volume of a multivolume set. By default, the file is placed arbitrarily within the multivolume set.
4 – Examples
1.$ CREATE/DIRECTORY/VERSION_LIMIT=2 $DISK1:[ACCOUNTS.MEMOS] In this example, the CREATE/DIRECTORY command creates a subdirectory named MEMOS in the ACCOUNTS directory on $DISK1. No more than two versions of each file can exist in the directory. 2.$ CREATE/DIRECTORY/PROTECTION=(SYSTEM:RWED,OWNER:RWED,GROUP,WORLD) - _$[KONSTANZ.SUB.HLP] In this example, the CREATE/DIRECTORY command creates a subdirectory named [KONSTANZ.SUB.HLP]. The protection on the subdirectory allows read (R), write (W), execute (E), and delete (D) access for the system and owner categories, but prohibits all access for the group or world categories. 3.$ CREATE/DIRECTORY DISK2:[GOLDSTEIN] In this example, the CREATE/DIRECTORY command creates a directory named [GOLDSTEIN] on the device DISK2. Special privileges are required to create a first-level directory. 4.$ CREATE/DIRECTORY [HOFFMAN.SUB] $ SET DEFAULT [HOFFMAN.SUB] In this example, the CREATE/DIRECTORY command creates a subdirectory named [HOFFMAN.SUB]. This directory file is placed in the directory named [HOFFMAN]. The command SET DEFAULT [HOFFMAN.SUB] changes the current default directory to this subdirectory. All files subsequently created are cataloged in [HOFFMAN.SUB]. 5.$ CREATE/DIRECTORY [BOAEN.SUB1.SUB2.SUB3] In this example, the CREATE/DIRECTORY command creates a top-level directory ([BOAEN]) and three subdirectories ([BOAEN.SUB1], [BOAEN.SUB1.SUB2], and [BOAEN.SUB1.SUB2.SUB3]).