creation and deletion of folders, NextZXOS provides us with commands to navigate the filesystem's directory tree. The filesystem navigation and management commands are:
MKDIR (for MaKe DIRectory) creates a folder on a drive that supports it. It's syntax is as follows:
MKDIR filespec
where filespec follows the syntax already discussed in the Filenames section of this chapter using the first two parts that make up a filename: Drive and Folder. In the absence of a drive and an initial folder separator character, the folder you're creating will be created under the current folder and drive you've set. You can mix the folder separators \ and / without a problem when structuring the filespec. An attempt to create a folder with MKDIR in a filesystem that doesn't support it will report a Non Implemented, 0:1 error.
If you are using MKDIR with a depth of folders greater than one, the folder name you're using must already exist otherwise you will receive an Invalid path, 0:1 error. Here are some examples to illustrate:
MKDIR "/codes" Creates a folder named codes under the current drive's root folder.
MKDIR "/codes/codes" Creates a subfolder named codes under the current drive's root folder inside the codes folder. If there is no folder named codes under the root folder, the command will fail.
MKDIR "d:/test" Creates a folder named test under the d: drive's root folder
MKDIR "d:test" Creates a subfolder under the d: drive's last changed-to folder.
The last example is very interesting as it introduces the concept of current folder per drive. Indeed, NextZXOS maintains a list of which folder was last changed to on each drive and will switch you to that if you don't explicitly define a full pathname and only a drive. This will become very useful when copying as we will see later on.
There is a dot command equivalent of MKDIR, which shares its name apart from the dot prefix: .mkdir. It accepts two more, mutually exclusive options over MKDIR: --verbose and --help otherwise it's syntactically the same. As with most dot commands if there's no drive inside the filespec the double quotes enclosing it are optional.
RMDIR (for ReMove DIRectory) removes an empty folder from a drive that supports folders. Its syntax is as follows:
RMDIR filespec
where filespec is as discussed in MKDIR above. RMDIR protects you from accidental deletion of files that can be contained within the folder by returning a Dir full, 0:1 error if even one file or another folder is contained within. You will need to first remove all the files and subfolders located inside the folder before RMDIR allows you to remove the folder. Wildcards do not work with RMDIR; you cannot use RMDIR "*" and expect to remove all folders under the location you are in. Any attempt to do so, will return a Bad filename, 0:1 error.
Finally, if you attempt to use RMDIR with a folder that doesn't exist, you will receive a an Invalid path, 0:1 error.
.rmdir is RMDIR's dot command equivalent. It is a bit more destructive than RMDIR as it allows the deletion of parent folders with the addition of optional switch --parents, however, it too, checks for data inside the folders slated for deletion and will return an error if data exists. With the exception of the optional switches --parents and --help, syntax for both RMDIR and .rmdir is the same.
ZX Spectrum Next User Manual, 3rd Edition (ISBN 978-1-5272-5496-1), written and illustrated by Phoebus R. Dokos. Copyright © 2020-2024 Phoebus Dokos / SpecNext Ltd. Licensed under CC BY-NC-SA 4.0. This is a transcription and can contain errors; check any doubt against the printed page.