## Name

DSAVE — Generate procedure file to copy files

## Synopsis

`dsave` [ `-opts` ] [ `devname` ] [ `path` ]

## Description

Dsave is used to backup or copy all files in one or more directories. It is unlike most other commands in that it does NOT directly affect the system, rather, it generates a procedure file which is executed later to actually do the work.

When dsave is executed, it writes copy commands to standard output to copy files from the current data directory on `devname` (the default is /D0) to the directory specified by `path`. If `path` does not appear, the copy is performed to the current data directory at the time the dsave procedure file is executed. If dsave encounters a directory file, it will automatically include makdir and chd commands in the output before generating copy commands for files in the subdirectory. Since dsave is recursive in operation, the procedure file will exactly replicate all levels of the file system from the current data directory downward (such a section of the file system is called a “subtree”).

If the current working directory happens to be the root directory of the disk, dsave will create a procedure file that will backup the entire disk file by file. This is useful when it is necessary to copy many files from different format disks, or from floppy disk to a hard disk.

Available dsave options are:

-b | make output disk a system disk by using source disk's `OS9Boot` file,. if present.
-b=`path` | make output disk a system disk using `path` as source for the `OS9Boot` file.
-i | indent for directory levels
-L | do not process directories below the current level
-m | do not include makdir commands in procedure file
-s`integer` | set copy size parameter to `integer` K

For more information see: the section called “Some Common Command Formats”

## Examples

Example which copies all files on “d2” to “d1”:

    chd /d2                          (select “from” directory)
    dsave /d2 >/d0/makecopy       (make procedure file “makecopy”)
    chd /d1                          (select “to” directory)
    /d0/makcopy                      (run procedure file)

    chd /d0/MYFILES/STUFF
    dsave -is32 /d0 /d1/BACKUP/STUFF >saver
    /d0/MYFILES/STUFF/saver