Imo it would make sense to only use quotes in those cases where ambiguity can arise between the filepath, and any other parameters following the filepath.

Fex /remove only needs to take a filepath, so there I think it would be justified not to have to specify quotes, as the parser just needs to take $1- (or $2- if you specified the b flag)

In other cases, such as /write for example, there is no choice really, you can't do anything else but use quotes as write takes an optional third parameter (the text to be written). Without quotes it would be impossible to know where the filename stops and the text to write begins, in case the filepath contains spaces. $shortfn isn't an option, because it only works on files that exist, whilst /write doesn't necessarily need an existing file to write to.

On another topic, I think multiple consecutive spaces shouldn't be stripped in commands that are related to files/folders, where the filepath is in between quotes. As it stands, it's not possible to write to a file that has two consecutive spaces, nor is it possible to read from them, because even $read needs to be passed to some sort of command, which then strips consecutive spaces. Atleast not without using ugly hacks like $read($replace(a??b.txt,?,$chr(32)))


Gone.