Возможно, вы просто ищете комбинацию file.remove
и list.files
? Возможно, что-то вроде:
do.call(file.remove, list(list.files("C:/Temp", full.names = TRUE)))
И я думаю, вы можете отфильтровать список файлов до тех, чьи имена соответствуют определенному шаблону с использованием grep
или grepl
, no?
Используя комбинацию dir и grep, это не так уж плохо. Вероятно, это может быть превращено в функцию, которая также сообщает вам, какие файлы должны быть удалены, и дает вам шанс прервать, если это не то, что вы ожидали.
# Which directory?
mydir <- "C:/Test"
# What phrase do you want contained in
# the files to be deleted?
deletephrase <- "deleteme"
# Look at directory
dir(mydir)
# Figure out which files should be deleted
id <- grep(deletephrase, dir(mydir))
# Get the full path of the files to be deleted
todelete <- dir(mydir, full.names = TRUE)[id]
# BALEETED
unlink(todelete)
dir
принимает аргумент pattern
, поэтому вам не требуется отдельное использование grep
.
– Richie Cotton
15 February 2012 в 19:09
Для всех файлов в известном пути вы можете:
unlink("path/*")
recursive=TRUE
& amp; force=TRUE
помогает. Я на Linux.
– Ufos
17 April 2018 в 11:07
dir_to_clean <- tempdir() #or wherever
#create some junk to test it with
file.create(file.path(
dir_to_clean,
paste("test", 1:5, "txt", sep = ".")
))
#Now remove them (no need for messing about with do.call)
file.remove(dir(
dir_to_clean,
pattern = "^test\\.[0-9]\\.txt$",
full.names = TRUE
))
Вы также можете использовать unlink
в качестве альтернативы file.remove
.
?regex
. Если вы все еще застряли, задайте вопрос с тегом regex
.
– Richie Cotton
25 July 2013 в 10:38
^
и $
в своем регулярном выражении, и я думаю, что это изменение, которое заставило его работать. Не могу сказать, что я проверил это полностью.
– Leonid
29 May 2017 в 21:15
pattern
дляlist.files
(илиdir
, который является синонимом). Я думаю, что они создают вектор по умолчанию, поэтому вам нужно обернуть вокруг негоlist
вызов для работы сdo.call
. – James 15 February 2012 в 17:56do.call
; см. мой ответ. – Richie Cotton 15 February 2012 в 19:20