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
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
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 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:
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 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:
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
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.
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.