path_file_sanitize() removes the following:

  • Control characters

  • Reserved characters

  • Unix reserved filenames (. and ..)

  • Trailing periods and spaces (invalid on Windows)

  • Windows reserved filenames (CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, and LPT9) The resulting string is then truncated to 255 bytes in length

path_sanitize(filename, replacement = "")

Arguments

filename

A character vector to be sanitized.

replacement

A character vector used to replace invalid characters.

See also

https://www.npmjs.com/package/sanitize-filename, upon which this function is based.

Examples

# potentially unsafe string str <- "~/.\u0001ssh/authorized_keys" path_sanitize(str)
#> [1] "~.sshauthorized_keys"
path_sanitize("..")
#> [1] ""