Appending to files
Let’s start with a simple question: how to append content to an existing file?
The answer is: check the “help” for the io.writeFile* function you need. Most of them already support an extra parameter to append to existing files.
io.writeFileString example
To write to a custom log you would do something like:
io.writeFileString("mylog.log", new Date() + " | Just did something\n");
But using this example the file mylog.log would get overwritten every time you execute it. To get around it simple add an extra flag:
io.writeFileString("mylog.log", new Date() + " | Just did something\n", void 0, true);
And everytime you run it, it will add a new line to the mylog.log file.
Appending several files into one
A one_liner that is usually helpfull is:
> $from(io.listFilenames("my/path")).ends(".js").select(r => { io.writeFileString("all.js", io.readFileString(r), void 0, true); });
This will actually create all.js file with the contents of all files in my/path with suffix “.js”. Of course you now can change the $from conditions to whatever special conditions you might have.