vacias una subcarpetas para eliminar contenido confirmacion comando carpetas carpeta borrar bat archivos r file path folder delete-file

una - Eliminar archivos/carpetas automáticamente



eliminar carpeta windows (4)

Para todos los archivos en una ruta conocida puede:

unlink("path/*")

¿Hay alguna forma de eliminar automáticamente todos los archivos o carpetas con pocas líneas de comando R? Soy consciente de las funciones unlink() o file.remove() , pero para las que necesita definir un vector de caracteres con exactamente todos los nombres de los archivos que desea eliminar. Estoy buscando más algo que enumere todos los archivos o carpetas dentro de una ruta específica (por ejemplo, ''C: / Temp'') y luego elimine todos los archivos con un nombre determinado (independientemente de su extensión).

¡Cualquier ayuda es muy apreciada!


Tal vez solo está buscando una combinación de file.remove y list.files ? Quizás algo como:

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

Y supongo que puede filtrar la lista de archivos a aquellos cuyos nombres coincidan con un determinado patrón usando grep o grepl , ¿no?


Usando una combinación de dir y grep esto no es tan malo. Probablemente, esto podría convertirse en una función que también le indique qué archivos se eliminarán y le dará la oportunidad de abortar si no es lo que esperaba.

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

También puede usar unlink como alternativa a file.remove .