0

我正在尝试使用 fs-extra 异步删除一个文件和一个文件夹。但它抛出以下错误。

import fse from 'fs-extra';
    function deleteMethod (foldername){
    fse.remove(`${foldername}-tar.gz`)
    .then(() => fse.remove(foldername))
    .then(() => çonsole.log('successfully deleted'))
    .catch((err) => console.log(err))
    }

回复:

{ [Error: EBUSY: resource busy or locked, unlink'D:rootpath\15\image.jpg']   
errno: -4082,   
code: 'EBUSY',   
syscall:'unlink',   
path:    'D:rootpath\15\image.jpg' }

第二个删除语句发生错误。有人可以解释为什么会这样。

4

1 回答 1

0

出现此问题是因为另一个程序当前正在访问该文件并且可能随时更改其内容(理论上),因此您的操作系统也不允许您进行更改。这适用于所有操作系统。操作系统不希望在不同程序中打开同一文件的多个副本,因为这将无法确定哪个副本是真实版本,或者如何正确合并更改等等。本质上,您必须终止当前使用该文件的程序才能读/写它。

于 2021-09-12T07:45:40.420 回答