Encuentra el nombre del archivo desde la ruta completa del archivo

156

¿Hay alguna manera de extraer el nombre del archivo de la ruta completa del archivo (parte de una ruta de archivo) sin la molestia de manipular la cadena?

El equivalente en Java sería:

File f = new File ("C:/some_dir/a")
f.getName() //output a
f.getFullAbsolutePath() //output c:/some_dir/a
defoo
fuente

Respuestas:

286

Utilizar

basename("C:/some_dir/a.ext")
# [1] "a.ext"
dirname("C:/some_dir/a.ext")
# [1] "C:/some_dir"
mjv
fuente
21
Lo sabía basename(), pero luego lo olvidé. Estas funciones deben mencionarse en la sección "Ver también" de las páginas de ayuda list.files y file.path .
Paul Rougieux
6

El tidyverse equivalente vive en el paquete fs . {fs} utiliza libuv debajo del capó.

library("fs")

path_file("/some/path/to/file.xyz")
#> [1] "file.xyz"

path_dir("/some/path/to/file.xyz")
#> [1] "/some/path/to"

Creado el 2020-02-19 por el paquete reprex (v0.3.0)

pat-s
fuente