2015-07-13 3 views
0

Я хочу получить список файлов в каталоге, но полностью удалять любые подкаталоги. list.files имеет параметр include.dirs, но заставляет его иметь значение TRUE, когда рекурсивный FALSE.Получить список файлов, без подкаталогов

Я не хочу файлы в подкаталогах, и мне не нужны имена подкаталогов. Я хочу быть в состоянии назвать:

list.files(recursive = F, include.dirs = F) 

ОС Windows, 7,1

+0

Какой ОС вы используете? –

ответ

2

Как насчет этого?

list_files_only = function(...) { 
    all_files = list.files(...) 
    dirs = list.dirs(..., recursive = FALSE, full.names = FALSE) 
    setdiff(all_files, dirs) 
} 

Работы для текущего рабочего каталога просто отлично, благодаря Бен Барнс, должны быть в состоянии пройти через path арг или других аргументах.

+1

Вместо использования 'gsub' вы можете использовать' full.names = FALSE' при получении списка каталогов. – BenBarnes

1

Использование assertive:

library(assertive) 
files <- dir() 
files[!is_dir(files)] 
Смежные вопросы