CopyDir recursively copies all files and directories in the from directory into the to directory. If the to directory does not exist, it is created. If the to directory already exists, its contents are overwritten.
CopyFile copies src to dst. If the target file already exists, it is overwritten. If the copy fails, the target file may be left in an inconsistent state.
EscapeFilename replaces bad characters in a filename with safe equivalents. The only character disallowed on Unix systems is the path separator "/". Windows is more restrictive; banned characters on Windows are listed here: https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx
Move moves a file from a directory to another, while handling cross-filesystem moves properly. If the target file already exists, it is truncated. If the move fails, then the target file may be left in an inconsistent state.