2017-07-04 3 views
1

Ich habe Originalordner mit 2000 Dateien (patha), jetzt möchte ich nur die Datei, die meine Anforderung (Liste in grdc_no) auf neue Pfad (pathb). Hier ist meine Leistung:Kopieren Sie Dateien, die Anforderung an den neuen Ordner

grdc_no <- grdc$grdc_no  
# list of file name satisfied with my requirement 

all_files <- list.files("patha", full.names = TRUE) 

for (f in all_files) { 

    for (i in 1:length(grdc_no)) { 

    if (f == grdc_no[i]) { 
     file.copy(f, "pathb") 
    } else {} 
    } 
} 

Allerdings funktioniert es nicht. Irgendwelche Ratschläge für mich in diesem Fall? Vielen Dank

Antwort

1

Sie können dies leicht tun, ohne eine Schleife (und vor allem einer verschachteltes eins) mit lapply:

lapply(all_files[basename(all_files) %in% grdc_no],function(x) file.copy(x,"pathb"))

Dies wird die Indexdateien von all_files mit einem passenden Dateinamen in dem Vektor grdc_no und gelten file.copy zu ihm.

+0

Wow, genau was ich will. Deine Hilfe ist mir wirklich wert. Ich danke dir sehr. – Hari

+0

Happy es half, bitte betrachten Sie es als Lösung. – Val

Verwandte Themen