folder, folders - set/list current nmh folder/message
| Use Case | Command | Description |
|---|---|---|
| Show current folder info | folder | Display current folder, message count, range, and current message |
| List all top-level folders | folder -all or folders | Summary of each folder, sorted alphabetically |
| List all folders recursively | folder -all -recurse | Include sub-folders in listing |
| Create a new folder | folder +newfolder -create | Create folder without prompting |
| Push current folder onto stack | folder +folder -push | Change to +folder, push old onto stack |
| Pop folder from stack | folder -pop | Change to top of stack, discard it |
| Compress folder (renumber messages) | folder +folder -pack | Remove holes in message numbering |
| Fast folder name listing | folder -all -fast | List only folder names without reading contents |
folder [ -help ] [ -version ] [ +folder ] [ msg ] [ -all | -noall ] [ -create | -nocreate ] [ -fast | -nofast ] [ -header | -noheader ] [ -recurse | -norecurse ] [ -total | -nototal ] [ -list | -nolist ] [ -push | -pop ] [ -pack | -nopack ] [ -print ] [ -verbose | -noverbose ]
folders is equivalent to folder -all
When folder is given the -print switch (the default), it lists: the current folder, the number of messages in it and their range (low-high), the folder's current message, and an indication 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 switch tells folder to create new folders without query. (This is an easy way to create an empty folder for later use.) Specifying -nocreate will cause folder to print an error message and exit without creating a folder.
Specifying -all will produce a summary line for each top-level folder in the user's nmh directory, sorted alphabetically. (If folder is invoked by a name ending with βsβ (e.g. folders), -all is assumed.) Specifying -recurse with -all will include a line for all sub-folders. These folders are all preceded by any read-only folders, which occur as βatr-cur-β entries 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.
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 -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 current 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 occurrence 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, and -list switches all disable -print.
$HOME/.mh_profile β The user's profile.+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.If +folder and/or msg are given, they will become the current folder and/or message.
There is no way to restore the default behavior (to ask the user whether to create a non-existent folder) after -create or -nocreate is given.
nmh-1.7.1 β 2016-08-29 β FOLDER(1mh)
Generated by phpman v4.10.0-7-g98e9fd5 · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-09-03 14:06 @216.73.216.198
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)