2016-07-10 2 views
0

Пожалуйста, помогите - используя R, как мне искать определенный файл/папку на всех дисках (жесткие диски как а также подключенные USB-накопители)?Использование R - Как найти файл/папку на всех дисках (жестких дисках, а также USB-накопителях)

Например, я ищу каталог под названием «MyFiles», и он может быть где угодно на моем C :, или на моем USB (E :). Я хотел бы знать все расположения деревьев в каталоге.

Спасибо за любой совет!

+0

Такого рода вопрос был задан (и ответил) перед (например http://stackoverflow.com/questions/ 48768 13/using-r-to-list-all-files-with-a-defined-extension? Rq = 1) Если ваш вопрос отличается от этого, рассмотрите возможность его расширения. – Phil

+1

Плакат хочет выполнить поиск по всему дереву, тогда как ссылка содержит только поиск в текущем каталоге. –

+1

@phil - спасибо за вашу ссылку - но я бы хотел искать все возможные местоположения в дереве для определенного файла, как указано в g-grothendieck. Я уточню вопрос, чтобы сделать это более ясным. – csrvermaak

ответ

1

Отмечено немного в комментарии, поскольку я неправильно прочитал нить (вам нужны dirs). Вы все еще можете сделать это с помощью list.files() tho. Я издевался вверх структуру каталогов в поисках каталогов под названием «data», но также включен файл с именем «data»:

(pre <- list.files("/var/tmp/a", "data", recursive=TRUE, full.names=TRUE, include.dirs=TRUE)) 

## [1] "/var/tmp/a/data" "/var/tmp/a/l/data" "/var/tmp/a/q/data" 

(/var/tmp/a/l/data на самом деле просто файл)

Но, вам нужно только/хотите каталоги , так что если у вас есть достаточно современный R установить и purrr установлен пакет, вы можете сделать:

purrr::keep(pre, dir.exists) 

## [1] "/var/tmp/a/data" "/var/tmp/a/q/data" 
Смежные вопросы