2012-04-22 24 views
24

Quiero copiar/pegar un archivo de una carpeta a otra carpeta en Windows usando R, pero no está funcionando. Mi código:Mover archivos entre carpetas

> file.rename(from="C:/Users/msc2/Desktop/rabata.txt",to="C:/Users/msc2/Desktop/Halwa/BADMASHI/SCOP/rabata.tx") 

[1] FALSE 
+0

¿La carpeta BADMASHI/SCOP ya existe? – Dason

+0

No hay nada de malo con su sintaxis; asegúrese de que el archivo de origen y la carpeta de destino ya existan. –

+0

¿has probado 'file.copy' en lugar de' file.rename'? – Henrik

Respuesta

35

Si quería una función file.rename() -como que también crear los directorios necesarios para llevar a cabo el cambio de nombre, podría intentar algo como esto:

my.file.rename <- function(from, to) { 
    todir <- dirname(to) 
    if (!isTRUE(file.info(todir)$isdir)) dir.create(todir, recursive=TRUE) 
    file.rename(from = from, to = to) 
} 

my.file.rename(from = "C:/Users/msc2/Desktop/rabata.txt", 
       to = "C:/Users/msc2/Desktop/Halwa/BADMASHI/SCOP/rabata.txt") 
+0

Gracias señor ... ¡funciona! –

16

Por favor, sólo estar consciente de que file.rename realmente eliminará el archivo de la carpeta "de". Si solo quiere hacer una copia duplicada y dejar el original en su lugar, use file.copy en su lugar.

Cuestiones relacionadas