Part of workaround for DMD Issue #12111
Part of workaround for DMD Issue #12111
Convenience aliases
Backwards-compatibility alias. runShell may become depricated in the future, so you should use tryRun or run insetad.
Alias for backwards-compatibility. This will be deprecated in the future. You should use scriptlikeEcho insetad.
Indicates a command returned a non-zero errorlevel.
Just like std.path.absolutePath, but operates on Path.
Part of workaround for DMD Issue #12111
Just like std.file.append, but optionally takes a Path, and obeys scriptlikeEcho and scriptlikeDryRun.
Just like std.path.baseName, but operates on Path.
Part of workaround for DMD Issue #12111
Like buildNormalizedPath, but if the result is the current directory, this returns "." instead of "". However, if all the inputs are "", or there are no inputs, this still returns "" just like buildNormalizedPath.
Just like std.file.chdir, but echoes if scriptlikeEcho is true.
Just like std.file.chdir, but takes a Path, and echoes if scriptlikeEcho is true.
Just like std.file.copy, but optionally takes Path, and obeys scriptlikeEcho and scriptlikeDryRun.
Just like std.file.copy, but optionally takes Path, and obeys scriptlikeEcho and scriptlikeDryRun.
Just like std.path.defaultExtension, but operates on Path and optionally Ext.
Part of workaround for DMD Issue #12111
Part of workaround for DMD Issue #12111
Just like std.file.dirEntries, but takes a Path.
Just like std.file.dirEntries, but takes a Path.
Just like std.path.dirName, but operates on Path.
Part of workaround for DMD Issue #12111
Just like std.path.driveName, but operates on Path.
Part of workaround for DMD Issue #12111
Properly escape arguments containing spaces for the command shell, if necessary.
Part of workaround for DMD Issue #12111
Just like std.file.exists, but takes a Path.
Checks if the path exists as a directory.
Checks if the path exists as a file.
Checks if the path exists as a symlink.
Just like std.path.expandTilde, but operates on Path.
Part of workaround for DMD Issue #12111
Just like std.path.extension, but takes a Path and returns an Ext.
Part of workaround for DMD Issue #12111
Part of workaround for DMD Issue #12111
Just like std.path.filenameCmp, but operates on Path.
Part of workaround for DMD Issue #12111
Part of workaround for DMD Issue #12111
Just like std.file.getAttributes, but takes a Path.
Part of workaround for DMD Issue #12111
Just like std.file.getLinkAttributes, but takes a Path.
Part of workaround for DMD Issue #12111
Just like std.file.getSize, but takes a Path.
Part of workaround for DMD Issue #12111
Just like std.file.getTimes, but takes a Path.
Windows-only. Part of workaround for DMD Issue #12111
Windows-only. Just like std.file.getTimesWin, but takes a Path.
Just like std.path.globMatch, but operates on Path.
Part of workaround for DMD Issue #12111
Just like std.path.isAbsolute, but operates on Path.
Part of workaround for DMD Issue #12111
Just like std.path.isRooted, but operates on Path.
Part of workaround for DMD Issue #12111
Just like std.path.isValidFilename, but operates on Path.
Part of workaround for DMD Issue #12111
Just like std.path.isValidPath, but operates on Path.
Part of workaround for DMD Issue #12111
Just like std.file.mkdir, but optionally takes a Path, and obeys scriptlikeEcho and scriptlikeDryRun.
Just like std.file.mkdir, but optionally takes a Path, and obeys scriptlikeEcho and scriptlikeDryRun.
Just like std.file.mkdirRecurse, but optionally takes a Path, and obeys scriptlikeEcho and scriptlikeDryRun.
Just like std.file.mkdirRecurse, but optionally takes a Path, and obeys scriptlikeEcho and scriptlikeDryRun.
Just like std.path.pathSplitter. Note this returns a range of strings, not a range of Path.
Part of workaround for DMD Issue #12111
Part of workaround for DMD Issue #12111
Just like std.file.read, but takes a Path.
Posix-only. Just like std.file.readLink, but operates on Path.
Posix-only. Part of workaround for DMD Issue #12111
Part of workaround for DMD Issue #12111
Part of workaround for DMD Issue #12111
Just like std.path.relativePath, but operates on Path.
Just like std.path.relativePath, but operates on Path.
Just like std.file.remove, but optionally takes a Path, and obeys scriptlikeEcho and scriptlikeDryRun.
Just like std.file.rename, but optionally takes Path, and obeys scriptlikeEcho and scriptlikeDryRun.
Just like std.file.rename, but optionally takes Path, and obeys scriptlikeEcho and scriptlikeDryRun.
Just like std.file.rmdir, but optionally takes a Path, and obeys scriptlikeEcho and scriptlikeDryRun.
Just like std.file.rmdirRecurse, but optionally takes a Path, and obeys scriptlikeEcho and scriptlikeDryRun.
Part of workaround for DMD Issue #12111
Just like std.path.rootName, but operates on Path.
Runs a command, through the system's command shell interpreter, in typical shell-script style: Synchronously, with the command's stdout/in/err automatically forwarded through your program's stdout/in/err.
Runs a command, through the system's command shell interpreter, in typical shell-script style: Synchronously, with the command's stdout/in/err automatically forwarded through your program's stdout/in/err.
Part of workaround for DMD Issue #12111
Part of workaround for DMD Issue #12111
Just like std.path.setExtension, but operates on Path.
Just like std.path.setExtension, but operates on Path.
Just like std.file.setTimes, but optionally takes a Path, and obeys scriptlikeEcho and scriptlikeDryRun.
Part of workaround for DMD Issue #12111
Part of workaround for DMD Issue #12111
Just like std.path.stripDrive, but operates on Path.
Part of workaround for DMD Issue #12111
Just like std.path.stripExtension, but operates on Path.
Posix-only. Just like std.file.symlink, but optionally takes Path, and obeys scriptlikeEcho and scriptlikeDryRun.
Just like std.file.timeLastModified, but takes a Path.
Just like std.file.timeLastModified, but takes a Path.
Part of workaround for DMD Issue #12111
If 'from' exists, then copy. Otherwise do nothing. Obeys scriptlikeEcho and scriptlikeDryRun.
If 'name' doesn't already exist, then mkdir. Otherwise do nothing. Obeys scriptlikeEcho and scriptlikeDryRun.
If 'name' doesn't already exist, then mkdirRecurse. Otherwise do nothing. Obeys scriptlikeEcho and scriptlikeDryRun.
If 'name' exists, then remove. Otherwise do nothing. Obeys scriptlikeEcho and scriptlikeDryRun.
If 'from' exists, then rename. Otherwise do nothing. Obeys scriptlikeEcho and scriptlikeDryRun.
If 'name' exists, then rmdir. Otherwise do nothing. Obeys scriptlikeEcho and scriptlikeDryRun.
If 'name' exists, then rmdirRecurse. Otherwise do nothing. Obeys scriptlikeEcho and scriptlikeDryRun.
Runs a command, through the system's command shell interpreter, in typical shell-script style: Synchronously, with the command's stdout/in/err automatically forwarded through your program's stdout/in/err.
Runs a command, through the system's command shell interpreter, in typical shell-script style: Synchronously, with the command's stdout/in/err automatically forwarded through your program's stdout/in/err.
Posix-only. If 'original' exists, then symlink. Otherwise do nothing. Obeys scriptlikeEcho and scriptlikeDryRun.
Just like std.file.write, but optionally takes a Path, and obeys scriptlikeEcho and scriptlikeDryRun.
Just like std.file.write, but optionally takes a Path, and obeys scriptlikeEcho and scriptlikeDryRun.
Just like std.file.isDir, but takes a Path.
Part of workaround for DMD Issue #12111
Just like std.file.isFile, but takes a Path.
Part of workaround for DMD Issue #12111
Just like std.file.isSymlink, but takes a Path.
Part of workaround for DMD Issue #12111
Much like std.array.Appender!string, but specifically geared towards building a command string out of arguments. String and Path can both be appended. All elements added will automatically be escaped, and separated by spaces, as necessary.
Represents a file extension.
Represents a filesystem path. The path is always kept normalized automatically (as performed by buildNormalizedPathFixed).
Just like std.file.readText, but takes a Path.
Just like std.file.slurp, but takes a Path.
By default, scriptlikeEcho and scriptlikeDryRun echo to stdout. You can override this behavior by setting scriptlikeCustomEcho to your own sink delegate. Set this to null to go back to Scriptlike's default of "echo to stdout" again.
If true, then run, tryRun, file write, file append, and all the echoable commands that modify the filesystem will be echoed to stdout (regardless of scriptlikeEcho) and NOT actually executed.
If true, all commands will be echoed. By default, they will be echoed to stdout, but you can override this with scriptlikeCustomEcho.