2012-04-22 23 views
24

Chcę skopiować/wkleić plik z jednego folderu do innego folderu w systemie Windows za pomocą R, ale nie działa. Mój kod:Przenoszenie plików między folderami

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

[1] FALSE 
+0

Czy folder BADMASHI/SCOP już istnieje? – Dason

+0

Nie ma nic złego w składni; upewnij się, że plik źródłowy i folder docelowy już istnieją. –

+0

wypróbowałeś 'file.copy' zamiast' file.rename'? – Henrik

Odpowiedz

35

Jeśli chciał file.rename() -jak funkcję, która będzie również tworzenia żadnych katalogów potrzebnych do przeprowadzenia zmiany nazwy, można spróbować czegoś takiego:

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

Dzięki Sir ... to działa !!! –

16

Należy tylko świadomy, że file.rename faktycznie usunie plik z folderu "z". Jeśli chcesz zrobić tylko kopię i pozostawić oryginał na swoim miejscu, użyj zamiast tego file.copy.

Powiązane problemy