Excluir automaticamente arquivos / pastas

Existe alguma maneira de excluir automaticamente todos os arquivos ou pastas com poucas linhas de comando R? Estou ciente das funções unlink() ou file.remove() , mas para aquelas que você precisa definir um vetor de caracteres com exatamente todos os nomes dos arquivos que você deseja excluir. Eu estou procurando mais por algo que lista todos os arquivos ou pastas dentro de um caminho específico (por exemplo, ‘C: / Temp’) e, em seguida, exclua todos os arquivos com um determinado nome (independentemente de sua extensão).

Qualquer ajuda é muito apreciada!

Talvez você esteja apenas procurando por uma combinação de file.remove e list.files ? Talvez algo como:

 do.call(file.remove, list(list.files("C:/Temp", full.names = TRUE))) 

E eu acho que você pode filtrar a lista de arquivos para aqueles cujos nomes correspondem a um determinado padrão usando grep ou grepl , não?

Para todos os arquivos em um caminho conhecido, você pode:

 unlink("path/*") 
 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 )) 

Você também pode usar o unlink como uma alternativa para file.remove .

Usando uma combinação de dir e grep isso não é tão ruim. Isso provavelmente poderia ser transformado em uma function que também informa quais arquivos devem ser excluídos e oferece a chance de abortar se não for o esperado.

 # 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)