Command line tool

ramfsctl controls the driver from the command line, for login scripts, scheduled tasks, deployment and build pipelines. With the default settings any user can run it; if the Allow standard users to modify settings option is turned off, run it from an administrator command prompt. Sizes set in bare numbers are treated as bytes; append a unit (M, G) where needed. A drive letter may be given on its own or with a colon, so R, R: and R:\ are all accepted.

Volumes

:: create a 4 GB volume on R:, label TEMP, two folders
ramfsctl create R 4G TEMP folders=Temp;Cache

:: with fast compression
ramfsctl create R 4G TEMP compress=fast folders=Temp;Cache

:: load from an existing image
ramfsctl create W 8G Work image=D:\images\work.img

:: mirror an existing folder in memory
ramfsctl create M 4G Work source=C:\Work

:: dismount
ramfsctl dismount R

Optional keywords on create: norecycle (no Recycle Bin or system folders), removable (presents as removable media), wipe (zero memory before releasing it to the system), compress=fast|normal|max (see Compression), image=path (see Image files), source=dir (see Folder mirroring), folders=a;b;c (names of folders created at mount). The last three are alternatives to one another.

Save and resize

:: save to the bound image (differential)
ramfsctl save R

:: save to a new file and rebind to it
ramfsctl save R D:\images\work.img

:: live resize
ramfsctl resize R 8G

Startup volumes

The auto command manages volumes recreated at boot, same as the volumes set to be created automatically at startup in the Add Volume dialog.

ramfsctl auto add R 4G TEMP folders=Temp;Cache
ramfsctl auto list
ramfsctl auto del R

It takes the same keywords as create, plus manual (configure without mounting at boot), autosave (save at shutdown and dismount) and period=seconds. To mirror a folder on every boot with write-back:

ramfsctl auto add M 4G Work source=C:\Work autosave

The mount command mounts a configured volume from its stored settings, so the size, label and other keywords do not have to be repeated. Note that create does not read the stored settings: it always makes a new volume from the keywords given on its own command line.

ramfsctl mount M
ramfsctl dismount M

Pairing manual with mount gives a volume that never appears on its own, but can be created and removed whenever you want it. That suits a project folder mirrored in memory only while you are working on it, and unlike a plain create it can still save its changes back periodically. Configure it once:

ramfsctl auto add M 8G Work manual autosave period=300 source=C:\Work

and from then on each session is only ramfsctl mount M and ramfsctl dismount M. The volume is listed in the main window while it is mounted, and the periodic write-back keeps the folder on disk up to date in case of a power loss.

Status and licensing

:: mounted volumes, size and usage
ramfsctl list

:: cumulative read/write counters
ramfsctl iostats

:: state of a mirrored folder and its last write-back
ramfsctl sync M

:: lifetime totals and peak speeds
ramfsctl lifetime

:: show state, or add a licence key
ramfsctl license

:: list all commands
ramfsctl help

macOS

The macOS ramfsctl does the same job with the platform's conventions: volumes are addressed by mount point instead of drive letter, and options are given as flags rather than keywords. Run ramfsctl without arguments for the full list.

# create a 4 GB volume with fast compression
ramfsctl create /Volumes/Temp -s 4G -c fast

# create bound to an image, autosave every 5 minutes
ramfsctl create /Volumes/Work -s 8G -i ~/work.rfs -A 300

# mirror a folder in memory at its own path
ramfsctl config add ~/Projects -S ~/Projects
ramfsctl mount ~/Projects

# a private volume, accessible only to its owner
ramfsctl create /Volumes/Priv -s 1G -m 700

# save, then unmount
ramfsctl save /Volumes/Work
ramfsctl destroy /Volumes/Work

Configured volumes are managed with config add, config remove and config list, equivalent to the auto command on Windows; -M no configures a volume without mounting it at boot, and -n disables automatic saving. The -m flag sets the permissions of the volume root in octal; when it is omitted a volume is created as 1777, writable by everyone like the system temporary folder. To restrict volume management to administrators, run ramfsctl settings admin_only=yes.