1 COPY Creates a new file from one or more existing files. The COPY command can do the following: o Copy an input file to an output file. o Concatenate two or more input files into a single output file. o Copy a group of input files to a group of output files. Format COPY input-filespec[,...] output-filespec 2 Parameters input-filespec[,...] Specifies the name of an existing file to be copied. The asterisk (*) and the percent sign (%) wildcard characters are allowed. If you do not specify the device or directory, the COPY command uses your current default device and directory. If you specify more than one file, separate the file specifications with either commas (,) or plus signs (+). output-filespec Specifies the name of the output file into which the input is copied. You must specify at least one field in the output file specification. If you do not specify the device or directory, the COPY command uses your current default device and directory. The COPY command replaces any other missing fields (file name, file type, version number) with the corresponding field of the input file specification. If you specify more than one input file, the COPY command generally uses the fields from the first input file to determine any missing fields in the output file. You can use the asterisk (*) wildcard character in place of any two of the following: the file name, the file type, or the version number. The COPY command uses the corresponding field in the related input file to name the output file. 2 Qualifiers /ALLOCATION /ALLOCATION=number-of-blocks Forces the initial allocation of the output file to the specified number of 512-byte blocks. If you do not specify the /ALLOCATION qualifier, or if you specify it without the number- of-blocks parameter, the initial allocation of the output file is determined by the size of the input file being copied. /BACKUP Modifies the time value specified with the /BEFORE or the /SINCE qualifier. The /BACKUP qualifier selects files according to the dates of their most recent backups. This qualifier is incompatible with the /CREATED, /EXPIRED, and /MODIFIED qualifiers, which also allow you to select files according to time attributes. If you specify none of these four time qualifiers, the default is the /CREATED qualifier. /BEFORE /BEFORE[=time] Selects only those files dated prior to the specified time. You can specify time as absolute time, as a combination of absolute and delta times, or as one of the following keywords: BOOT, LOGIN, TODAY (default), TOMORROW, or YESTERDAY. Specify one of the following qualifiers with the /BEFORE qualifier to indicate the time attribute to be used as the basis for selection: /BACKUP, /CREATED (default), /EXPIRED, or /MODIFIED. For complete information on specifying time values, refer to the OpenVMS User's Manual or the online help topic DCL_Tips (subtopic Date_Time). /BY_OWNER /BY_OWNER[=uic] Selects only those files whose owner user identification code (UIC) matches the specified owner UIC. The default UIC is that of the current process. Specify the UIC by using standard UIC format as described in the OpenVMS Guide to System Security. /CONCATENATE /CONCATENATE (default) /NOCONCATENATE Creates one output file from multiple input files when you do not use the asterisk (*) or percent sign (%) wildcard characters in the output file specification. The /NOCONCATENATE qualifier generates multiple output files. A wildcard character in an input file specification results in a single output file consisting of the concatenation of all input files matching the file specification. Files from Files-11 On-Disk Structure Level 2 and 5 disks are concatenated in alphanumeric order. If you specify an asterisk (*) or percent sign (%) wildcard character in the file version field, files are copied in descending order by version number. Files from Files-11 On-Disk Structure Level 1 disks are concatenated in random order. /CONFIRM /CONFIRM /NOCONFIRM (default) Controls whether a request is issued before each copy operation to confirm that the operation should be performed on that file. The following responses are valid: YES NO QUIT TRUE FALSE Ctrl/Z 1 0 ALL You can use any combination of uppercase and lowercase letters for word responses. You can abbreviate word responses to one or more letters (for example, T, TR, or TRU for TRUE), but these abbreviations must be unique. Affirmative answers are YES, TRUE, and 1. Negative answers include: NO, FALSE, 0, and pressing Return. Entering QUIT or pressing Ctrl/Z indicates that you want to stop processing the command at that point. When you respond by entering ALL, the command continues to process but no further prompts are given. If you type a response other than one of those in the list, DCL issues an error message and redisplays the prompt. /CONTIGUOUS /CONTIGUOUS /NOCONTIGUOUS Specifies that the output file must occupy contiguous physical disk blocks. By default, the COPY command creates an output file in the same format as the corresponding input file. Also, by default, if not enough space exists for a contiguous allocation, the COPY command does not report an error. If you copy multiple input files of different formats, the output file may or may not be contiguous. You can use the /CONTIGUOUS qualifier to ensure that files are copied contiguously. The /CONTIGUOUS qualifier has no effect when you copy files to or from tapes because the size of the file on tape cannot be determined until after it is copied to the disk. If you copy a file from a tape and want the file to be contiguous, use the COPY command twice: once to copy the file from the tape, and a second time to create a contiguous file. /CREATED /CREATED (default) Modifies the time value specified with the /BEFORE or the /SINCE qualifier. The /CREATED qualifier selects files based on their dates of creation. This qualifier is incompatible with the /BACKUP, /EXPIRED, and /MODIFIED qualifiers, which also allow you to select files according to time attributes. If you specify none of these four time qualifiers, the default is the /CREATED qualifier. /EXCLUDE /EXCLUDE=(filespec[,...]) Excludes the specified files from the copy operation. You can include a directory but not a device in the file specification. The asterisk (*) and the percent sign (%) wildcard characters are allowed in the file specification; however, you cannot use relative version numbers to exclude a specific version. If you specify only one file, you can omit the parentheses. /EXPIRED Modifies the time value specified with the /BEFORE or the /SINCE qualifier. The /EXPIRED qualifier selects files according to their expiration dates. (The expiration date is set with the SET FILE/EXPIRATION_DATE command.) The /EXPIRED qualifier is incompatible with the /BACKUP, /CREATED, and /MODIFIED qualifiers, which also allow you to select files according to time attributes. If you specify none of these four time qualifiers, the default is the /CREATED qualifier. /EXTENSION /EXTENSION=n Specifies the number of blocks to be added to the output file each time the file is extended. If you do not specify the /EXTENSION qualifier, the extension attribute of the corresponding input file determines the default extension attribute of the output file. /LOG /LOG /NOLOG (default) Controls whether the COPY command displays the file specifications of each file copied. When you use the /LOG qualifier, the COPY command displays the following for each copy operation: o The file specifications of the input and output files o The number of blocks or the number of records copied (depending on whether the file is copied on a block-by-block or record-by-record basis) o The total number of new files created /MODIFIED Modifies the time value specified with the /BEFORE or the /SINCE qualifier. The /MODIFIED qualifier selects files according to the dates on which they were last modified. This qualifier is incompatible with the /BACKUP, /CREATED, and /EXPIRED qualifiers, which also allow you to select files according to time attributes. If you specify none of these four time modifiers, the default is the /CREATED qualifier. /OVERLAY /OVERLAY /NOOVERLAY (default) Requests that data in the input file be copied into the existing specified file, overlaying the existing data, rather than allocating new space for the file. The physical location of the file on disk does not change; however, for RMS indexed and relative files, if the output file has fewer blocks allocated than the input file, the copy fails giving an RMS-E-EOF error. The /OVERLAY qualifier is ignored if the output file is written to a non-file-structured device. /PROTECTION /PROTECTION=(ownership[:access][,...]) Specifies protection for the output file. 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, including any protection attributes not specified, is that of the existing output file. If no output file exists, the current default protection applies. For more information on specifying protection codes, refer to the OpenVMS Guide to System Security. /READ_CHECK /READ_CHECK /NOREAD_CHECK (default) Reads each record in the input files twice to verify that it has been read correctly. /REPLACE /REPLACE /NOREPLACE (default) Requests that, if a file exists with the same file specification as that entered for the output file, the existing file is to be deleted. The COPY command allocates new space for the output file. In general, when you use the /REPLACE qualifier, include version numbers with the file specifications. By default, the COPY command creates a new version of a file if a file with that specification exists, incrementing the version number. The /NOREPLACE qualifier signals an error when a conflict in version numbers occurs. /SINCE /SINCE[=time] Selects only those files dated on or after the specified time. You can specify time as absolute time, as combination of absolute and delta times, or as one of the following keywords: BOOT, LOGIN, TODAY (default), TOMORROW, or YESTERDAY. Specify one of the following qualifiers with the /SINCE qualifier to indicate the time attribute to be used as the basis for selection: /BACKUP, /CREATED (default), /EXPIRED, or /MODIFIED. For complete information about specifying time values, refer to the OpenVMS User's Manual or the online help topic DCL_Tips (subtopic Date_Time). /STYLE /STYLE=keyword Specifies the file name format for display purposes. The valid keywords for this qualifier are CONDENSED and EXPANDED. Descriptions are as follows: Keyword Explanation CONDENSED Displays the file name representation of what is (default) generated to fit into a 255-length character string. This file name may contain a DID or FID abbreviation in the file specification. EXPANDED Displays the file name representation of what is stored on disk. This file name does not contain any DID or FID abbreviations. The keywords CONDENSED and EXPANDED are mutually exclusive. This qualifier specifies which file name format is displayed in the output message, along with the confirmation if requested. File errors are displayed with the CONDENSED file specification unless the EXPANDED keyword is specified. Refer to the OpenVMS Guide to Extended File Specifications for more information. /TRUNCATE /TRUNCATE (default) /NOTRUNCATE Controls whether the COPY command truncates an output file at the end-of-file (EOF) when copying it. This operation can only be used with sequential files. By default, the actual size of the input file determines the size of the output file. If you select /NOTRUNCATE, the allocation of the input file determines the size of the output file. /VOLUME /VOLUME=n Places the output file on the specified relative volume number of a multivolume set. By default, the COPY command places the output file arbitrarily in a multivolume set. /WRITE_CHECK /WRITE_CHECK /NOWRITE_CHECK (default) Reads each record in the output file after it is written to verify that the record copied successfully and that the file can be read subsequently without error. NOTE Some hardware devices, such as TK50 tape drives, verify data integrity as part of their hardware function. For devices such as these, you do not need to use /WRITE_CHECK. For information about which devices provide automatic write checking, consult your hardware documentation. 2 Examples 1.$ COPY TEST.DAT NEWTEST.DAT In this example, the COPY command copies the contents of the file TEST.DAT from the default disk and directory to a file named NEWTEST.DAT on the same disk and directory. If a file named NEWTEST.DAT exists, the COPY command creates a new version of the file. 2.$ COPY ALPHA.TXT TMP $ COPY ALPHA.TXT .TMP In this example, the first COPY command copies the file ALPHA.TXT into a file named TMP.TXT. The COPY command uses the file type of the input file to complete the file specification for the output file. The second COPY command creates a file named ALPHA.TMP. The COPY command uses the file name of the input file to name the output file. 3.$ COPY *.* PRTLND::*.* In this example, the COPY command copies all files within the user directory at the local node to the remote node PRTLND. The new files have the same names as the input file. You must have write (W) access to the default directory on remote node PRTLND for the command to work. 4.$ COPY BOSTON::DISK2:TEST.DAT;5 _To: DALLAS"SAM SECReturn"::DISK0:[MODEL.TEST]TEST.DAT/ALLOCATION=50 In this example, the COPY command copies the file TEST.DAT;5 on the device DISK2 at node BOSTON to a new file named TEST.DAT at remote node DALLAS. The /ALLOCATION qualifier initially allocates 50 blocks for the new file TEST.DAT at node DALLAS. The access control string SAM SECReturn is used to access the remote directory. 5.$ COPY [SMITH]MONKEY.DIR [PAINTER] $ COPY [SMITH.MONKEY]*.* [PAINTER.MONKEY]*.* In this example, the COPY command creates the new empty directory [PAINTER.MONKEY] that is registered in the [PAINTER]MONKEY.DIR directory file. After the COPY command creates the new [PAINTER]MONKEY.DIR directory file, you can copy or create files in the [PAINTER.MONKEY] directory. The second COPY command in this example copies files from the [SMITH.MONKEY] directory to the [PAINTER.MONKEY] directory. 6.$ COPY [SMITH]CATS.DIR [SMITH]DOGS.DIR In this example, the COPY command creates the new empty directory file, called [SMITH]DOGS.DIR. Use this copy command to create a directory file that has the same attributes as the [SMITH]CATS.DIR file. This command example has the same effect as entering the command: $ CREATE/DIRECTORY [SMITH.DOGS] 7.$ COPY [SMITH]TIGER.DIR [SMITH.ANIMALS] $ COPY [SMITH.TIGER]*.* [SMITH.ANIMALS.TIGER]*.* $ DELETE [SMITH.TIGER]*.*;* $ SET PROTECTION=W=D TIGER.DIR $ DELETE TIGER.DIR; In this example, the COPY command creates the new empty directory file called [SMITH.ANIMALS]TIGER.DIR. The subsequent commands in this example then copy the files from the [SMITH.TIGER] directory to the [SMITH.ANIMALS.TIGER] directory, then delete the original TIGER.DIR directory file. Because the TIGER.DIR is a directory file, you must specify a protection code of delete (D) before you can delete the directory file. 2 /FTP Transfers files between hosts with possibly dissimilar file systems over a TCP/IP connection by invoking the FTP utility. Format COPY/FTP fromFile toFile 3 Parameters fromFile Specifies the name of an existing file (the source file) to be copied. toFile Specifies the name of the output file (the destination file) into which the input file is copied. 3 Qualifiers /ANONYMOUS Causes an anonymous access to the remote node or nodes. /ANONYMOUS is the default remote access. The password passed to the remote node should be in the form of "user@fullyqualifiednodename". /ASCII Used to identify an ASCII file (text file). /ASCII is the default. /BINARY Required to identify binary files. /FDL This qualifier is optional. Causes interaction with an FDL (file definition language) file. If the file is being copied to the local OpenVMS system, a remote FDL file is sought and interpreted for the operation. If the file is being copied outside the local OpenVMS system, an FDL file is generated and copied in addition to the requested file. If the /FDL qualifier is specified and the vendor application does not support it, a warning message may be issued. /LOG Displays a message at SYS$OUTPUT when a file is transferred. /NOSTRUVMS Used to explicitly disable the negotiation of STRU OpenVMS transfers. Otherwise, some servers will immediately abort when negotiating the feature. /VERBOSE /VERBOSE /NOVERBOSE Specifies whether all messages (including banner messages) are to be displayed on the terminal. By default, disables the display of the messages. 3 Examples 1.$ COPY/FTP/FDL/ANON rms_indexed_file.idx remotehst5::"/public/rms.idx.file" This example transfers the OpenVMS RMS file rms_indexed_ file.idx to the remote file public/rms.idx.file on remotehst5 over a TCP/IP connection. Access to the remote host is anonymous and an FDL file is generated and copied along with rms_indexed_file.idx. 2.$ COPY/FTP/VERBOSE sys$login:login.com - xdelta.zko.dec.com"username password"::sys$login:login.tmp This example transfers the OpenVMS RMS file sys$login:login.com to the remote file sys$login:login.tmp over a TCP/IP connection while specifying the user name and password on the remote system. 3.$ COPY/FTP/LOG RESULTS.LOG - _To: grad.uq.edu.au"JONES BYRONBAY"::DKA200$:[JONES.DATA] In this example, the COPY/FTP command copies the file RESULTS.LOG to the file DKA200$:[JONES.DATA]RESULTS.LOG using the user account JONES, with password BYRONBAY on node grad, that is located in the uq.edu.au internet domain. 2 /RCP Copies files from host to host over a TCP/IP connection by invoking the RCP utility. Format COPY/RCP fromFile toFile 3 Parameters fromFile Specifies the name of an existing file (the source file) to be copied. toFile Specifies the name of the output file (the destination file) into which the input file is copied. 3 Qualifiers /AUTHENTICATE Specifies that Kerberos authentication should be used for acquiring access to the remote node. /LOG Displays a message in SYS$OUTPUT when a file is transferred. /PRESERVE Preserves the file protection codes. /RECURSIVE Requests a subdirectory copy operation. /TRUNCATE /TRUNCATE=USERNAME Truncates the user name to 8 characters. /USERNAME /USERNAME=username Optional qualifier that specifies the remote user name. The standard operation is to log in to a remote system using the same user name as at the local terminal. The command supports quoted parameters in the /USERNAME value. 3 Example $ COPY/RCP local_file.c remotehst4"Smith smpw"::rem_file.c This example copies local_file.c to rem_file.c on the remote host remotehst4 over a TCP/IP connection.