为什么 filelib:is_dir 和 filelib:is_regular 函数不能正常处理包含空白 space 的文件和文件夹?

Why filelib:is_dir and filelib:is_regular functions doesn't work properly with files and folder that contain blank space?

我有目录C:/Users/David/test

此目录包含:

-test one (folder)
-test.one (folder)
-Nuevo documento de texto.txt (file)
-module(tut).
-export([main/0]).

main() -> 
 {_, DD} = file:list_dir("C:/Users/David/test"),
 [{H, filelib:is_dir(H)} || H <-DD].

当我运行两个文件夹给我的代码都是假的。他们应该 return 正确。

当我将 is_dir 更改为 is_regular 并执行代码时,所有三个都为 false,但 Nuevo documento de texto.txt 是一个常规文件。

您需要提供完整路径,filelib:is_dir 才能正常工作。

[{H,filelib:is_dir("C:/Users/David/test/" ++ H)}|| H <-DD].