我试图使用Sys.remove "mydir"删除一个目录,但这导致了一个异常:Exception: Sys_error u"mydir: Is a directory".。因此,我猜删除非空目录的唯一方法是使用Sys.readdir "mydir"获取目录中的文件列表,然后递归删除其内容,最后使用Unix.rmdir删除空目录。使用OCaml删除非空目录的惯用方法是什么?
假设我有一个表示目录的File f,那么f.delete()只在目录为空的情况下才会删除它。我找到了一个 of online,它使用File.listFiles()或File.list()获取目录中的所有文件,然后递归遍历目录结构并删除所有文件。-我希望代码不遵循符号链接,停留在它应该删除的目录中。即使在Windows情况下,我也可以依靠Commons实现来实现吗?