# folder(1) - man - phpMan

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



## NAME
       folder, folders - set/list current nmh folder/message

## SYNOPSIS
       **folder** [**-help**] [**-version**] [_+folder_] [_msg_] [**-all** | **-noall**] [**-create** | **-nocreate**] [**-fast** | **-no**‐‐
            **fast**] [**-header** | **-noheader**] [**-recurse** | **-norecurse**] [**-total** | **-nototal**] [**-list** | **-no**‐‐
            **list**] [**-push** | **-pop**] [**-pack** | **-nopack**] [**-print**] [**-verbose** | **-noverbose**]

       **folders** is equivalent to **folder** **-all**

## DESCRIPTION
       When  **folder** is given the **-print** switch (the default), it lists: the current folder, the num‐
       ber of messages in it and their range (low-high), the folder's current message, and an  indi‐
       cation of extra files, if any.  For example:

            inbox+            has  16 messages (  3- 22); cur=  5.

       If  a  _+folder_  and/or _msg_ are specified, they will become the current folder and/or message.
       (When a _+folder_ argument is given, this corresponds to a “cd” operation in the shell; when no
       _+folder_ argument is given, this corresponds roughly to a “pwd” operation in the shell.)

       If  the  specified  (or default) folder doesn't exist, **folder** will ask the user if the folder
       should be created; when standard input is not a tty, the answer is assumed to be “yes”.   The
### -create
       create an empty folder for later use.)  Specifying **-nocreate** will cause **folder**  to  print  an
       error message and exit without creating a folder.

### Multiple Folders
       Specifying  **-all**  will produce a summary line for each top-level folder in the user's **nmh** di‐
       rectory, sorted alphabetically.  (If **folder** is invoked by a name ending with “s” (e.g.  **fold**‐‐
       **ers**),  **-all** is assumed.)  Specifying **-recurse** with **-all** will include a line for all sub-fold‐
       ers.  These folders are all preceded by any read-only folders, which occur as “_atr-cur-_”  en‐
       tries in the user's **nmh** context.  For example:

            FOLDER                  # MESSAGES RANGE      CUR     (OTHERS)
            /var/work/folder  has  35 messages ( 1- 35);  cur=23.
            /usr/bugs/Mail    has  82 messages ( 1-108);  cur=82.
            ff                has  no messages.
            inbox+            has  16 messages ( 3- 22);  cur= 5.
            mh                has  76 messages (15- 76);  cur=70.
            notes             has   2 messages ( 1-  2);  cur= 1.
            ucom              has 124 messages ( 1-124);  cur= 6; (others).
            TOTAL = 339 messages in 7 folders

       The  “+”  after _inbox_ indicates that it is the current folder.  The “(others)” indicates that
       the folder _ucom_ contains files which aren't messages; these may  either  be  sub-folders,  or
       files that don't belong under the **nmh** file naming scheme.

       The  header is output if either the **-all** or **-header** switches are specified.  It is suppressed
       by **-noheader**.

       The folder and message totals are output if either the **-all** or **-total** switches are specified.
       They are suppressed by **-nototal**.

       If  **-fast**  is  given,  only  the  folder name (or names, in the case of **-all**) will be listed.
       (This is faster because the folders need not be read.)

       If a _+folder_ is given with the **-all** switch, **folder** will, in addition to setting  the  current
       folder,  list  the top-level sub-folders for the current folder (with **-norecurse**) or list all
       sub-folders under the current folder recursively (with **-recurse**).

       If _msg_ is supplied, together with _+folder_ or without **-all**, it will become the current message
       of _+folder_ (if it had been supplied) or the current folder.

       The  **-recurse**  switch lists each folder recursively, so its use effectively defeats the speed
       enhancement of **-fast**, since each folder must be searched for sub-folders.  Nevertheless,  the
       combination of these options is useful.

### Compacting a Folder
       The **-pack** switch will compress the message names in the designated folders, removing holes in
       message numbering.  The **-verbose** switch directs **folder** to tell the user the  general  actions
       it is taking to compress the folder.

### The Folder Stack
       The  **-push**  switch  directs **folder** to push the current folder onto the _folder-stack_, and make
       the _+folder_ argument the current folder.  If _+folder_ is not given, the current folder and the
       top  of  the  _folder-stack_  are  exchanged.  This corresponds to the “pushd” operation in the
       shell.

       The **-pop** switch directs **folder** to discard the top of the _folder-stack_, after setting the cur‐
       rent  folder  to that value.  No _+folder_ argument is allowed.  This corresponds to the “popd”
       operation in the shell.  The **-push** and **-pop** switches are mutually exclusive: the last  occur‐
       rence  of  either  one  overrides any previous occurrence of the other.  The use of either of
       these switches also sets **-list**, by default.

       The **-list** switch directs **folder** to list the _folder-stack_.  No _+folder_  argument  is  allowed.
       After  a successful **-push** or **-pop**, the **-list** action is taken, unless a **-nolist** switch follows
       them on the command line.  This corresponds to the “dirs” operation in the shell.  The **-push**,
### -pop -list -print

## FILES
       $HOME/.mh_profile   The user's 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.
       Folder-Stack:       To determine the folder stack.

## SEE ALSO
       [_mhpath_(1)](https://www.chedong.com/phpMan.php/man/mhpath/1/markdown), [_refile_(1)](https://www.chedong.com/phpMan.php/man/refile/1/markdown), [_rmf_(1)](https://www.chedong.com/phpMan.php/man/rmf/1/markdown)

## DEFAULTS
       +folder             The current folder.
       msg                 “none”
### -nofast
### -noheader
### -nototal
### -nopack
### -norecurse
### -noverbose
       -print              is the default if no **-list**, **-push**, or **-pop** is specified.
       -list               is the default if **-push**, or **-pop** is specified.

## CONTEXT
       If _+folder_ and/or _msg_ are given, they will become the current folder and/or message.

## BUGS
       There  is no way to restore the default behavior (to ask the user whether to create a non-ex‐
       istent folder) after **-create** or **-nocreate** is given.



nmh-1.7.1                                    2016-08-29                                  [FOLDER(1mh)](https://www.chedong.com/phpMan.php/man/FOLDER/1mh/markdown)
