Lua的os.remove()函数删除文件夹时出现“Permission denied”错误

3
我试图使用 os.remove() 删除 Windows 中的一个空文件夹,但是 Lua 给出了“权限被拒绝”的错误提示。我可以轻松删除文件。
然而,如果我使用 os.execute() 调用 rmdir,该文件夹就会被删除。 os.remove() 在 Windows 环境中有哪些限制?

我的猜测是,os.remove() 只能用于 Windows 中的文件,而不能用于文件夹。 - Yu Hao
以管理员身份启动您的命令行。这可能是Windows中UAC的问题。 - codingbunny
1个回答

4
os.remove 文档指出:
删除给定名称的文件(或空目录,在 POSIX 系统上)。如果此函数失败,则返回 nil,以及描述错误和错误代码的字符串。
Windows 不是符合 POSIX 标准的操作系统,因此会表现出这种行为。
要在 Windows 7 中获得 POSIX 兼容性,您需要激活 Windows 中的基于 UNIX 的应用程序子系统(SUA / Interix)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接