Interactive File Managers on CP/M

CP/M has a number of interactive file managers that can be used to make it easier to handle common file operations rather than using the command line driven commands supplied with CP/M such as: DIR, ERA, PIP, REN, TYPE.

Early programs

One of the first interactive file management programs was CLEANUP. This was a very simple program that just went through each file in a directory and asked you whether you wanted to erase or view each file in turn.

After this came WASH, by Michael J. Karas of Micro Resources, which states in the accompanying documentation that it was inspired by CLEANUP. Like CLEANUP, WASH presents each file to the user in turn, but it does this in a circular list and also allows you to go back up the list. WASH adds some extra functionality as well such as the ability to rename and copy files as well as send files to a printer or punch device.

SWEEP, by Robert Fisher, uses the same basic circular file presentation as WASH. Its biggest addition is the ability to tag files so that you can mass copy or erase them. It also supports user areas allowing you to switch to different user areas and copy files back and forth between them.


Dave Rand created NSWEEP which is very similar to SWEEP, but it is much faster, smaller and generally more polished. It also adds a few extra features:

  • It can move files from one user area to another, using the rename function, without having to copy and delete
  • It can squeeze and unsqueeze files
  • It displays attributes in file listing by highlighting characters in a filename and allows you to change those attributes

NSWEEP is a great file manager with lots of features and was pretty popular at one time. However, v2.07 has a bug when used on CP/M Plus while copying a file to a disk that isn't ready as it will corrupt the source file and other parts of the source disk. This is a shame and there was an unofficial v2.08 release which purported to fix this, but apparently that introduced some other serious bug.


In the documentation for B29 Gary Conway, its author, states how much he liked NSWEEP but wanted to add a few extra things such as a real-time clock and better printing support. In the end he decided to write his own version of a SWEEP style program with the extra features that he wanted. The result is a program very similar to NSWEEP, that in its later versions also added support for .LBR files allowing you to view and extract its members.

B29 is a good alternative to NSWEEP but unfortunately it has a bug when you move a file from one user area to another, where it deletes the file in the source user area but doesn't move it to the new user area.


Frank Gaudé states in the documentation for DISK7 that it was based on common ideas presented in CLEANUP, WASH and SWEEP. This is a much smaller program than B29 or NSWEEP and therefore has less features. However, it presents a nice clean interface to the user and what it does do it does well.


VFILER, by Richard Conn, follows 'in the footsteps of SWEEP, CLEAN [sic] and DISK' and tries to make it more user friendly by using direct cursor control to create a screen oriented file manipulation utility. Instead of going from one file to the next as in the other utilities, VFILER presents a screen of file names that you can move between using Wordstar cursor control keys. It requires a Z80 processor to run and has features similar to DISK7.

Basic Information

Below is some basic information about each utility that you may find useful.

NameSize (Kb)8080 Compatible

Video of the Interactive File Managers

You can see these file managers in action below.

Creative Commons License
Interactive File Managers on CP/M by Lawrence Woodman is licensed under a Creative Commons Attribution 4.0 International License.

Share This Post


Related Articles

Advanced Use of .LBR files on CP/M

Lots of utilities make use of .LBR (Library) files to provide extra facilities such as the ability to run commands from archives or mount them as if they were drives. This article shows some more adva...   Read More

Working with .LBR files on CP/M

The .LBR (Library) file format was the most common form of multi-file archive on personal computers at one time. It was created by Gary P. Novosielski in 1982 for use by his LU (Library Utility) progr...   Read More

Re-execute Programs in Memory on CP/M

After a transient program terminates on CP/M it's often possible to re-execute it in memory without having to reload it from disk. This is a great little trick if using slow disks as it's much quicke...   Read More

I Love ED on CP/M

I love ED on CP/M. It's often derided but I think it's just misunderstood and with a little practise its true value can shine through. It's elegant, easy to learn and only has about 25 commands but t...   Read More

The Pilot Programming Language on CP/M

Pilot was created by John A. Starkweather in the early 1960s as a programming language for Computer Assisted Instruction. It has often been compared to Logo because of its use with children. However,...   Read More