如何解决fs.rename同步奇怪的删除行为
我目前正在使用NodeJS在Electron中编写一个小型桌面应用程序,这是我第一次正确进入Node领域。
我的问题是,当我在一组文件上使用fs.renameSync
或fs.rename
时,我第一次通过此功能运行它们时,它们会正确重命名。但是在同一文件上的第二次及以后,文件开始从磁盘上消失/删除,我似乎无法弄清楚为什么。我只能找到其他SO Post引用此文件,但这是由于文件名上没有使用var
。
这在MacOS,Ubuntu 20.04和Manjaro 20.0.3上均会发生,因此它不仅与一个OS相关。
async function processTargetDirectory({targetPath}) {
fs.readdir(targetPath,(err,files) => {
if (err) {
getMainWindow.webContents.send('folder:error',{err})
}
var filesNum = 0;
process.chdir(targetPath);
const cwd = process.cwd();
files.forEach(file => {
var originalExt = path.extname(file);
var prefix = config.get('prefix');
fs.renameSync(file,`${prefix}_${filesNum}${originalExt}`);
filesNum++;
});
});
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。