如何在 Node.js 中使用 chmod
如何将 chmod 与 Node.js 一起使用?
包 fs
中有一个方法,应该可以做到这一点,但我不知道它的第二个参数是什么。
fs.chmod(路径、模式、[回调])
异步 chmod(2)。除了可能的异常之外,不会向完成回调提供任何参数。
fs.chmodSync(路径、模式)
同步 chmod(2)。
(来自 Node.js 文档)
如果我做了什么
fs.chmodSync('test', 0755);
都没有发生的事情(文件是没有更改为该模式)。
fs.chmodSync('test', '+x');
也不行。
顺便说一句,我正在 Windows 机器上工作。
How do I use chmod with Node.js?
There is a method in the package fs
, which should do this, but I don't know what it takes as the second argument.
fs.chmod(path, mode, [callback])
Asynchronous chmod(2). No arguments other than a possible exception are given to the completion callback.
fs.chmodSync(path, mode)
Synchronous chmod(2).
(from the Node.js documentation)
If I do something like
fs.chmodSync('test', 0755);
nothing happens (the file isn't changed to that mode).
fs.chmodSync('test', '+x');
doesn't work either.
I'm working on a Windows machine btw.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
根据其源代码
/lib/fs.js
第 508 行:和第 203 行:
它采用八进制数或字符串。
例如,
它不适用于您的情况,因为文件模式仅存在于 *nix 机器上。
According to its sourcecode
/lib/fs.js
on line 508:and line 203:
it takes either an octal number or a string.
e.g.
It doesn't work in your case because the file modes only exist on *nix machines.
指定八进制的正确方法如下:
请参阅此处的文件模式。
The correct way to specify Octal is as follows:
Refer to the file modes here.
在 Windows 上,您需要使用
fs.constants
或fsPromises.constants
,而不是八进制数字或字符串。例如,要将文件更改为以只读访问方式打开,您可以使用:您可以在此处找到
fs.constants
的值:节点文件系统常量On Windows, instead of on Octal number or string, you need to use
fs.constants
orfsPromises.constants
. For example, to change a file to open for read only access you would use:You can find the values for
fs.constants
here: Node File System Constants