Переименуйте несколько файлов в папке Windows с помощью R - PullRequest
0 голосов
/ 30 марта 2019

У меня в Windows есть папка с 1000 файлами с ". Dts" форматом вроде 20170217.dts . Я хочу переименовать все имя файла и изменить год на 2019, например 20190217.dts . Моя цель - правильно переименовать все файлы в папке, чтобы можно было открыть их в другом программном обеспечении. Я попробовал это:

# define file path

filepath <- "C:/my file path/"

myfile_dts_2019 <- list.files(path = filepath , pattern =".dts")

# print
myfile_dts_2019

[1] "20172303.dts" "20172403.dts"


# replace 2017 with 2019
newfiles <- stringr::str_replace(myfile_dts_2019,"2017","2019")

newfiles

[1] "20192303.dts" "20192403.dts"

# try to rename on the folder

file.rename(myfile_dts_2019, newfiles)

[1] TRUE TRUE

Мой сценарий работает в R, однако исходные файлы в папке все еще имеют имя, начинающееся с 2017 . Мне интересно, как я могу переименовать их также в папке Windows.

1 Ответ

1 голос
/ 30 марта 2019

list.files имеют значение по умолчанию full.names = FALSE, что означает, что он возвращает только имя файла, а не путь к файлу. Чтобы переименовать файл, нам нужен полный путь, добавьте full.names = TRUE, а затем переименуйте.

myfile_dts_2019 <- list.files(path = filepath , pattern =".dts", full.names = TRUE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...