【发布时间】:2019-11-21 07:03:59
【问题描述】:
我有以下问题:我想递归地列出给定文件夹中的所有文件。但是这个文件夹包含一个特殊的文件夹,list.files() 无法查看。但是,fs::dir_ls() 能够查看该文件夹。看例子:
> list.files(path, recursive = TRUE)
[1] "???" "archive_folders.R"
[3] "archived_folder/archived_file.txt"
>
> dir_ls(path, recurse = TRUE)
U:/Eigene Dateien/R/archive_folders/archive_folders.R
U:/Eigene Dateien/R/archive_folders/archived_folder
U:/Eigene Dateien/R/archive_folders/archived_folder/archived_file.txt
U:/Eigene Dateien/R/archive_folders/ааа
U:/Eigene Dateien/R/archive_folders/ааа/archived_file.txt
我正在使用 Windows 7 并查看 aaa 文件夹的属性并没有给出有关问题的提示。所以我的问题是双重的:
- 您对
aaa文件夹有何特别之处有任何想法吗? -
list.files()有没有可能找到这个特殊文件夹中的文件?
编辑:
文件夹名称ааа 实际上不是 aaa。听起来很混乱?该文件夹的名称由U+00430 组成,而不是通常的字母a (U+0061)。
【问题讨论】:
-
您的文件夹名称中可能包含非 ASCII 字母。 R 在 Windows 上使用特殊字符可能有些脆弱
-
这不太可能。文件夹名称为
aaa。 -
list.files说它是“???”的事实表明它不只是aaa。文件夹是如何创建的? -
嗯,Windows 资源管理器和
fs::dir_ls()显示名称aaa。不幸的是,我不知道该文件夹是如何创建的。