ddooss -- Command

Manipulate files on MS-DOS file systems
ddooss [-]ddFFffllrrttxx[_f_l_a_g_s] [_d_e_v_i_c_e] [_f_i_l_e ...]

The  command ddooss  allows the  COHERENT  user to  manipulate an  MS-DOS file
system, which may be either a hard-disk partition or a floppy disk.  It can
build an empty MS-DOS file system, label it, list the files in it, transfer
files between it and COHERENT, or delete files from it.

The  given _d_e_v_i_c_e  must be  a special  file that  specifies an  MS-DOS file
system,  such  as   floppy-disk  drive  /ddeevv/ffhhaa00  or  hard-disk  partition
/ddeevv/aatt00aa.  The default  _d_e_v_i_c_e is /ddeevv/ddooss, which the system administrator
should link to the most commonly used device name.

ddooss converts  between the differing  file-name conventions of  COHERENT and
MS-DOS.  An MS-DOS  _f_i_l_e argument may be specified in  lower or upper case,
using `/' as the  path-name separator.  When transferring files from MS-DOS
to COHERENT,  ddooss converts an MS-DOS  file name to a  COHERENT file name in
lower  case only.   If  the MS-DOS  file  name contains  no extension,  the
COHERENT file name contains  no `.'.  When transferring files from COHERENT
to MS-DOS,  ddooss converts all alphabetic characters in  a COHERENT file name
to upper  case; if a period  `.' appears at the beginning or  end of a file
name, ddooss  converts it  to `_'.   ddooss truncates the  part of the  file name
before the  last `.'  to a  maximum of eight  characters and  truncates the
extension to a maximum of three characters.

The command line must specify exactly one of the following _f_u_n_c_t_i_o_n_s.

dd    Delete each _f_i_l_e from the MS-DOS file system.  This option also allows
     the user to delete empty directories.

FF    Create  an empty  MS-DOS file  system on  a formatted  diskette.  This
     option is  analogous to the  COHERENT command /eettcc/mmkkffss.  The COHERENT
     commands /eettcc/ffddffoorrmmaatt and /eettcc/mmkkffss initialize a COHERENT diskette in
     two steps.   The MS-DOS command ffoorrmmaatt  initializes an MS-DOS diskette
     by performing both the physical and logical formatting operations with
     one command.  To initialize an MS-DOS diskette under COHERENT, use the
     command  /eettcc/ffddffoorrmmaatt -vv  _d_e_v_i_c_e_n_a_m_e, followed by  the command  ddooss FF
     _d_e_v_i_c_e_n_a_m_e.  If _f_i_l_e is named, ddooss  copies it to the boot block of the
     file system.   The ddooss command cannot  build a file system  on a hard-
     disk partition.

ff    Force removal of rreeaaddoonnllyy files on the MS-DOS side.

ll    Label the  MS-DOS file system.  The command  line must specify exactly
     one _f_i_l_e argument, which gives the label.

rr    Replace each _f_i_l_e on the MS-DOS  file system with the COHERENT file of
     the  same  name.   If  a  given  _f_i_l_e argument  specifies  a  COHERENT
     directory, ddooss  replaces its subdirectories recursively  to the MS-DOS
     file system unless  the ss flag is used.  If  no _f_i_l_e is specified, ddooss
     copies all files in the current directory to the MS-DOS file system.

tt    List the  files on  the MS-DOS  file system.  If  no _f_i_l_e  argument is
     given, ddooss  lists the entire  MS-DOS file system;  otherwise, it lists
     each _f_i_l_e.   If a _f_i_l_e argument specifies  an MS-DOS subdirectory, ddooss
     lists  its  contents.  ddooss  lists  directories  first in  alphabetical
     order, then ordinary files in alphabetical order.

xx    Extract each  _f_i_l_e from the MS-DOS  file system to a  COHERENT file of
     the  same  name.   If  a  given  _f_i_l_e  argument  specifies  an  MS-DOS
     subdirectory, ddooss extracts  its contents recursively unless the ss flag
     is used.  If no _f_i_l_e is  given, ddooss extracts all files from the MS-DOS
     file system to the current COHERENT directory.

The following _f_l_a_g_s are available.

aa    Perform ASCII newline  conversion on file transfer.  When moving files
     from COHERENT  to MS-DOS, this  option converts each  COHERENT newline
     character `\n' (ASCII LLFF) to  an MS-DOS end-of-line (ASCII CCRR and LLFF);
     when moving  files from MS-DOS to COHERENT, it  does the opposite.  By
     default,   ddooss  performs   binary  file   transfer,   without  newline
     conversion.

kk    Keep  the  file  modification  time  (mtime)  on extract  and  replace
     operations.   By default,  ddooss gives extracted  or replaced  files the
     current time.   With this option, ddooss gives  the extracted or replaced
     file the same time as the original file.

nn    List  files in  order of  creation (newest file  last) rather  than in
     alphabetical order.  This option applies only to the table-of-contents
     function.  ddooss always  lists directories before files, with or without
     the nn option.

pp    Perform  a  piped extract  or  replace (for  use  in pipelines).   The
     command line must specify exactly one _f_i_l_e argument.  For extract, ddooss
     reads  the given  _f_i_l_e  and writes  it  to the  standard output.   For
     replace, ddooss reads the standard input and writes it to the given _f_i_l_e.

ss    Suppress extraction or replacement of subdirectories.  By default, ddooss
     extracts or replaces subdirectories recursively.

vv    Verbose  option.  Provide additional  information about  each function
     performed.

[11-99]
     A  digit  specifies  a logical  drive  number  on  an extended  MS-DOS
     partition.  For example, ddooss  ttvv22 /ddeevv/aatt00cc lists the directory of the
     second logical drive on extended MS-DOS partition /ddeevv/aatt00cc.

_d_o_s _C_o_m_m_a_n_d_s
ddooss  is  an  obsolete command.   It  has  largely  been  superceded by  the
following family of COHERENT commands that manipulate MS-DOS file systems:

ddoossccaatt  Concatenate a file on an MS-DOS file system.
ddoossccpp   Copy files to/from an MS-DOS file system
ddoossccppddiirr
        Copy a directory to/from an MS-DOS file system
ddoossddeell  Delete a file from an MS-DOS file system
ddoossddiirr  List contents of an MS-DOS directory
ddoossffoorrmmaatt
        Build an MS-DOS file system on a floppy disk
ddoossllaabbeell
        Label an MS-DOS floppy disk
ddoossllss   List files on an MS-DOS file system
ddoossmmkkddiirr
        Create a directory in an MS-DOS file system
ddoossrrmm   Remove a file from an MS-DOS file system
ddoossrrmmddiirr
        Remove a directory from an MS-DOS file system

For details, see these commands' entries within the Lexicon.

_E_x_a_m_p_l_e_s
The  first example  copies  all files  located in  directories ssoouurrcceess  and
iinncclluuddee,  as well  as any  subdirectories, from  floppy drive  /ddeevv/ffvvaa11 to
correspondingly named subdirectories in the current COHERENT directory:

    dos xavk /dev/fva1 sources include

Note that ffvvaa11 is a high-density, 3.5-inch floppy disk in floppy-disk drive
1  (a.k.a.,  drive  B:).  The  files  will  be  copied  with ASCII  newline
conversion and will retain the time and date that they had under MS-DOS.

The next example copies a file  from an MS-DOS partition on your hard disk.
Suppose that CC:  is the primary MS-DOS partition on  your first hard drive.
The following command  copies file CC:\AAUUTTOOEEXXEECC.BBAATT to /aauuttooeexxeecc.bbaatt in your
COHERENT root partition:

    dos xa /dev/at0a /autoexec.bat

You will  want to  use the aa  switch any time  you are transferring  a text
file.

Suppose that the second partition on your first hard drive (COHERENT device
/ddeevv/aatt00bb) is an extended MS-DOS  partition with two logical drives, DD: and
EE:. To copy a COHERENT text file /ttmmpp/ffoooo to DD:\TTMMPP\FFOOOO, use the command

    dos ra1 /dev/at0b /tmp/foo

To copy  non-text file  ffrroottzz in the  current COHERENT directory  to MS-DOS
file EE:\DDBBFF\AAXX\FFRROOTTZZ, use the command

    dos rp2 /dev/at0b dbf/ax/frotz < frotz

_S_e_e _A_l_s_o
ccoommmmaannddss, ffddffoorrmmaatt, mmkkffss, MMSS-DDOOSS

_N_o_t_e_s
ddooss is  an obsolete command.   It has been retained  for compatibility with
earlier versions of COHERENT.  We urge  you to use the other members in the
ddooss family of commands, which have  a cleaner syntax and are much easier to
use.

ddooss does  not check for unusual  characters in a COHERENT  file name or for
file names that differ from other file names only in case.

The ddooss  family of commands now  support large file systems,  such as those
created by MS-DOS versions 4.0 and 5.0.

The COHERENT  system's ddooss family of commands  do not understand compressed
MS-DOS  file systems  created by  programs  such as  SSttaacckkeerr or  MS-DOS 6.0
ddbbllssppaaccee. If  you are running  MS-DOS with file compression,  you must copy
files  to an  uncompressed  file system  (for example,  to an  uncompressed
floppy disk  or to the uncompressed  host for a compressed  file system) to
make them accessible to the COHERENT ddooss commands.
