# man > REFILE(1mh)

[_REFILE_(1mh)](https://www.chedong.com/phpMan.php/man/REFILE/1mh/markdown)                                                                              [_REFILE_(1mh)](https://www.chedong.com/phpMan.php/man/REFILE/1mh/markdown)

## NAME
       refile - file message in nmh folders

## SYNOPSIS


       **refile **[**-help**] [**-version**] [_msgs_] [**-draft**] [**-link **| **-nolink**] [**-preserve **| **-nopreserve**] [**-re‐**
            **tainsequences **| **-noretainsequences**] [**-unlink **| **-nounlink**] [**-src _**+folder_] [**-file _**file_]
            [**-rmmproc _**program_] [**-normmproc**] _+folder1_ ...

## DESCRIPTION
       **refile  **moves (see [_mv_(1)](https://www.chedong.com/phpMan.php/man/mv/1/markdown)) or links (see [_ln_(1)](https://www.chedong.com/phpMan.php/man/ln/1/markdown)) messages from a source folder into one or more
       destination folders.

       If you think of a message as a sheet of paper, this operation is not unlike filing the  sheet
       of paper (or copies) in file cabinet folders.  When a message is filed, it is linked into the
       destination folder(s) if possible, and is copied otherwise.  As long as the destination fold‐
       ers  are  all  on the same file system, multiple filing causes little storage overhead.  This
       facility provides a good way to cross-file or multiple-index messages.   For  example,  if  a
       message is received from Jones about the ARPA Map Project, the command

            refile cur +jones +Map

       would allow the message to be found in either of the two folders `jones' or `Map'.

       You  may  specify  the  source  folder using **-src _**+folder_.  If this is not given, the current
       folder is used by default.  If no message is specified, then `cur' is used by default.

       The option **-file _**file_ directs **refile **to use the specified file as the source  message  to  be
       filed, rather than a message from a folder.  Note that the file should be a validly formatted
       message, just like any other **nmh **message.  It should _not_ be in mail drop format (to convert a
       file in mail drop format to a folder of **nmh **messages, see [_inc_(1)](https://www.chedong.com/phpMan.php/man/inc/1/markdown)).

       If  a destination folder doesn't exist, **refile **will ask if you want to create it.  A negative
       response will abort the file operation.  If the standard input for **refile **is _not_ a tty,  then
       **refile **will not ask any questions and will proceed as if the user answered “yes” to all ques‐
       tions.

       The  option  **-link  **preserves  the  source folder copy of the message (i.e., it does an [_ln_(1)](https://www.chedong.com/phpMan.php/man/ln/1/markdown)
       rather than a [_mv_(1)](https://www.chedong.com/phpMan.php/man/mv/1/markdown)), whereas, **-nolink **(the default) deletes  the  filed  messages  from  the
       source folder.

       Normally  when  a  message  is refiled, for each destination folder it is assigned the number
       which is one above the current highest message number in that folder.  Use of  the  **-preserve**
       switch  will  override  this message renaming, and try to preserve the number of the message.
       If a conflict for a particular folder occurs when using the  **-preserve  **switch,  then  **refile**
       will use the next available message number which is above the message number you wish to pre‐
       serve.

       As  message  sequences are folder-specific, moving the message from the source folder removes
       it from all its sequences in that folder.  **-retainsequences **adds it to those  same  sequences
       in the destination folder, creating any that don't exist.  This adding does not apply for the
       “cur” sequence.

       If  **-link **is not specified (or **-nolink **is specified), the filed messages will be removed from
       the source folder.  The default is to remove these messages by renaming them with a  site-de‐
       pendent prefix (usually a comma).  Such files will then need to be removed in some manner af‐
       ter  a certain amount of time.  Many sites arrange for **cron **to remove these files once a day,
       so check with your system administrator.

       Alternately, if you wish for **refile **to really remove the files  representing  these  messages
       from  the  source  folder,  you can use the **-unlink **switch (not to be confused with the **-link**
       switch).  But messages removed by this method cannot be later recovered.

       If you prefer a more sophisticated method of `removing' the messages from the source  folder,
       you  can  define the **rmmproc **profile component.  For example, you can add a profile component
       such as

            rmmproc:    /home/coleman/bin/rmm_msgs

       then **refile **will instead call the named program or script to handle the message files.

       The user may specify **-rmmproc _**program_ on the command line to override this profile specifica‐
       tion.  The **-normmproc **option forces the message files to be deleted by renaming or  unlinking
       them as described above.

       The **-draft **switch tells **refile **to file the <mh-dir>/draft.

## FILES
       $HOME/.mh_profile          The user profile

## PROFILE COMPONENTS
       Path:                To determine the user's nmh directory
       Current-Folder:      To find the default current folder
       Folder-Protect:      To set mode when creating a new folder
       rmmproc:             Program to delete the message

## SEE ALSO
       [_folder_(1)](https://www.chedong.com/phpMan.php/man/folder/1/markdown), [_mh-sequence_(5)](https://www.chedong.com/phpMan.php/man/mh-sequence/5/markdown), [_rmf_(1)](https://www.chedong.com/phpMan.php/man/rmf/1/markdown), [_rmm_(1)](https://www.chedong.com/phpMan.php/man/rmm/1/markdown)

## DEFAULTS
       `**-src +folder**' defaults to the current folder
       `**msgs**' defaults to cur
       `**-nolink**'
       `**-nounlink**'
       `**-nopreserve**'
       `**-noretainsequences**'

## CONTEXT
       If  **-src  _**+folder_ is given, it will become the current folder.  If neither **-link **nor `all' is
       specified, the current message in the source folder will be set to the  last  message  speci‐
       fied; otherwise, the current message won't be changed.

       If  the “Previous-Sequence” profile entry is set, in addition to defining the named sequences
       from the source folder, **refile **will also define those sequences for the destination  folders.
       See [_mh-sequence_(5)](https://www.chedong.com/phpMan.php/man/mh-sequence/5/markdown) for information concerning the previous sequence.

## BUGS
       Since **refile **and **rmm **use your _rmmproc_ to delete the message, the _rmmproc_ must _not_ call **refile**
       or **rmm **without specifying **-normmproc**, or you will create an infinite loop.

nmh-1.8                                      2013-03-19                                  [_REFILE_(1mh)](https://www.chedong.com/phpMan.php/man/REFILE/1mh/markdown)
