我想出了一个错误,我写这个节点脚本是为了重命名一堆文件。
> 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)
这是我正在使用的代码。
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, '')))
};
}
我同时使用node test/rename.js
和sudo node test/rename.js
同时尝试了两次抛出错误。我不知道我在哪里搞砸了。
答案 0 :(得分:0)
解决方案:文件被锁定在OSX的var b = '<a class="dz-remove removeAttachment">Remove</a>';
$(someOtherElement).append(b);
$(someOtherElement).delegate('.removeAttachment', 'click', function() {
dropone.removeAllFiles();
})
标签中。我解锁文件,重新运行节点脚本,然后挥动!它扭曲了,而且很有效。