首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EPERM fs.rename

EPERM fs.rename
EN

Stack Overflow用户
提问于 2016-08-17 04:34:48
回答 1查看 790关注 0票数 0

我为我编写的这个节点脚本提出了一个错误,该脚本用于重命名一组文件。

代码语言:javascript
复制
> node test/rename.js

fs.js:809
  return binding.rename(pathModule._makeLong(oldPath),
             ^
Error: EPERM: operation not permitted, rename '/path/to/file v2 032.png' -> '/path/to/file 032.png'
    at Error (native)
    at Object.fs.renameSync (fs.js:809:18)
    at Object.<anonymous> (/Users/[user]/Documents/test/rename.js:9:8)
    at Module._compile (module.js:541:32)
    at Object.Module._extensions..js (module.js:550:10)
    at Module.load (module.js:458:32)
    at tryModuleLoad (module.js:417:12)
    at Function.Module._load (module.js:409:3)
    at Module.runMain (module.js:575:10)
    at run (bootstrap_node.js:352:7)

这是我正在使用的代码。

代码语言:javascript
复制
var fs = require('fs');
var path = require('path');
var folder = '/path/to/'
var regExp = /\sv2/gi;

var directory = fs.readdirSync(folder);
for (i=0; i < directory.length; i++) {
  if (directory[i].match(regExp)) {
    fs.renameSync(path.join(folder, directory[i]), path.join(folder, directory[i].replace(regExp, '')))
  };
}

我尝试了as node test/rename.jssudo node test/rename.js,两者都抛出了错误。我不知道我做错了什么。

EN

回答 1

Stack Overflow用户

发布于 2016-08-17 04:49:18

解决方案:文件在OSX的Get Info标签中被锁定。我解锁了文件,重新运行了节点脚本,然后!它扭动了一下,而且起作用了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38984005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档