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"