Skip to contents

Find and move files in sequence

Usage

findAndMoveInSequence(sourceDir, targetDir, pattern = NULL)

Arguments

sourceDir

character(1). Source directory of files to rename.

targetDir

character(1). Target directory of files to rename.

pattern

character(1) or NULL. File matching pattern. Refer to list.files() for details.

Value

character. File paths of renamed files.

Note

Updated 2022-09-08.

Examples

testDir <- AcidBase::tempdir2()
sourceDir <- file.path(testDir, "source")
targetDir <- file.path(testDir, "target")
paths <- c(sourceDir, targetDir)
invisible(lapply(X = paths, FUN = dir.create, recursive = TRUE))
invisible(file.create(
    file.path(
        sourceDir,
        paste0(
            c("aaa", "bbb", "ccc"),
            ".txt"
        )
    )
))
print(sort(list.files(
    path = sourceDir,
    full.names = FALSE,
    recursive = FALSE
)))
#> [1] "aaa.txt" "bbb.txt" "ccc.txt"
out <- findAndMoveInSequence(
    sourceDir = sourceDir,
    targetDir = targetDir
)
#> → Renaming /private/var/folders/l1/8y8sjzmn15v49jgrqglghcfr0000gn/T/Rtmp5QluiJ/m46nR98jXZ-169841035761483/source/aaa.txt to /private/var/folders/l1/8y8sjzmn15v49jgrqglghcfr0000gn/T/Rtmp5QluiJ/m46nR98jXZ-169841035761483/target/1-aaa.txt.
#> → Renaming /private/var/folders/l1/8y8sjzmn15v49jgrqglghcfr0000gn/T/Rtmp5QluiJ/m46nR98jXZ-169841035761483/source/bbb.txt to /private/var/folders/l1/8y8sjzmn15v49jgrqglghcfr0000gn/T/Rtmp5QluiJ/m46nR98jXZ-169841035761483/target/2-bbb.txt.
#> → Renaming /private/var/folders/l1/8y8sjzmn15v49jgrqglghcfr0000gn/T/Rtmp5QluiJ/m46nR98jXZ-169841035761483/source/ccc.txt to /private/var/folders/l1/8y8sjzmn15v49jgrqglghcfr0000gn/T/Rtmp5QluiJ/m46nR98jXZ-169841035761483/target/3-ccc.txt.
#>  Successfully renamed 3 files.
print(out)
#> [1] "/private/var/folders/l1/8y8sjzmn15v49jgrqglghcfr0000gn/T/Rtmp5QluiJ/m46nR98jXZ-169841035761483/target/1-aaa.txt"
#> [2] "/private/var/folders/l1/8y8sjzmn15v49jgrqglghcfr0000gn/T/Rtmp5QluiJ/m46nR98jXZ-169841035761483/target/2-bbb.txt"
#> [3] "/private/var/folders/l1/8y8sjzmn15v49jgrqglghcfr0000gn/T/Rtmp5QluiJ/m46nR98jXZ-169841035761483/target/3-ccc.txt"
print(sort(list.files(
    path = targetDir,
    full.names = FALSE,
    recursive = FALSE
)))
#> [1] "1-aaa.txt" "2-bbb.txt" "3-ccc.txt"
AcidBase::unlink2(testDir)