The get_filename
function extracts filenames from file paths with options to remove file extensions
and/or directory paths.
get_filename(paths, rm_extension = TRUE, rm_path = TRUE)
A character
vector containing file system paths.
Must be valid and accessible path strings.
A logical
flag controlling file extension removal:
TRUE
: Strips file extensions from filenames
FALSE
: Preserves complete filename with extension
Default is TRUE
.
A logical
flag managing directory path handling:
TRUE
: Extracts only the filename, discarding directory information
FALSE
: Retains complete path information
Default is TRUE
.
A character
vector of processed filenames with applied transformations.
The function performs the following operations:
Validates input paths
Handles empty input vectors
Optionally removes directory paths using basename
Optionally removes file extensions using regex substitution
If both rm_extension
and rm_path
are FALSE,
a warning is issued and the original paths are returned
Supports multiple file paths in the input vector
base::basename()
for basic filename extraction
# Example: File path processing demonstrations
# Setup test files
xlsx_files <- mintyr_example(
mintyr_examples("xlsx_test") # Get example Excel files
)
# Example 1: Extract filenames without extensions
get_filename(
xlsx_files, # Input file paths
rm_extension = TRUE, # Remove file extensions
rm_path = TRUE # Remove directory paths
)
#> [1] "xlsx_test1" "xlsx_test2"
# Example 2: Keep file extensions
get_filename(
xlsx_files, # Input file paths
rm_extension = FALSE, # Keep file extensions
rm_path = TRUE # Remove directory paths
)
#> [1] "xlsx_test1.xlsx" "xlsx_test2.xlsx"
# Example 3: Keep full paths without extensions
get_filename(
xlsx_files, # Input file paths
rm_extension = TRUE, # Remove file extensions
rm_path = FALSE # Keep directory paths
)
#> [1] "/home/runner/work/_temp/Library/mintyr/extdata/xlsx_test1"
#> [2] "/home/runner/work/_temp/Library/mintyr/extdata/xlsx_test2"