=======
atrextr
=======

-------------------------------
extract files from an ATR image
-------------------------------

.. include:: manhdr.rst

SYNOPSIS
========

**atrextr** *imagefile.atr* [*file*] [*dir*]

DESCRIPTION
===========

**atrextr** extracts one or more files from an Atari DOS 2.x or MyDOS
compatible ATR disk image. Extracted files are written to the current
directory, by default.

*file* is an optional filename or wildcard pattern, such as *autorun.sys*
or *\*.sys*. If not given, the default is *\*.\**. *file* is case
insensitive: *readme.txt* is equivalent to *README.TXT*, and *\*.txt* is
equivalent to *\*.TXT*. If a wildcard is used, most shells will require
the argument to be quoted, to avoid the shell's normal wildcard
expansion. The wildcard semantics are similar to those of Atari DOS or
POSIX sh, but are not identical to either.

*dir* is the directory to extract files to. If omitted, the default is
the current directory. If *dir* is to be given, *file* must also be given
(although it may be specified as *""*, equivalent to *\*.\**).

**atrextr** does not take any other options.

NOTES
=====

DOS 2.5 disk images are not fully supported. Specifically, **atrextr**
is unable to extract files that use sectors above 720 (those that
are listed with *<*, in *atrdir* or Atari DOS 2.5). These files will be
silently skipped, exactly as Atari DOS 2.0S does when reading a 2.5
enhanced density disk.

MyDOS subdirectories are not supported. Only files in the root
directory of a disk image can be extracted.

MyDOS large disk images (aka hard disk images) are supported, though
without subdirectory support, **atrextr** can't extract most of the files
in a typical hard disk image.

XFD format images are not supported. Neither are SpartaDOS, Atari DOS
3/4, DOS XE, or other non-standard DOS formats.

There should be options to translate Atari EOL characters to and from
UNIX newlines, and to convert the extracted filenames to lowercase.

Exit status is zero if all files were extracted successfully, or
non-zero if any errors occurred. In case of a non-zero return,
some files may still have been extracted (though some or all of them
may be truncated or corrupt).

.. include:: manftr.rst
