使用 Chokidar 监视父文件夹时,文件夹不允许重命名子文件夹或删除非空子文件夹

A U*_*ser 6 rename working-directory node.js electron chokidar

使用 Chokidar\xef\xbc\x8c 监视包含子文件夹的文件夹时,监视文件夹无法重命名。

\n

版本:\n\xc2\xa0\xc2\xa0\xc2\xa0 Chokidar 版本:3.5.2\n\xc2\xa0\xc2\xa0\xc2\xa0 Angular CLI:12.0.2\n\xc2\xa0\xc2 \xa0\xc2\xa0 节点:16.17.0\n\xc2\xa0\xc2\xa0\xc2\xa0 程序包管理器:npm 9.2.0\n\xc2\xa0\xc2\xa0\xc2\xa0 操作系统版本:Windows 10\xc2\xa0

\n

\r\n
\r\n
//defaultOptions for chokidar :\ndefaultOptions = {\n    \xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 ignored: /(^|[\\/\\\\])\\../, // ignore dotfiles\n    \xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 persistent: true,\n    \xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 depth: 99,\n    \xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 alwaysStat: true,\n    \xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 awaitWriteFinish: {\n    \xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 stabilityThreshold: 2000,\n    \xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 pollInterval: 100\n    \xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 },\n    \xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 ignorePermissionErrors: false,\n    \xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 atomic: true // or a custom \'atomicity delay\', in milliseconds (default 100)\n    \xc2\xa0\xc2\xa0\xc2\xa0 }
Run Code Online (Sandbox Code Playgroud)\r\n
\r\n
\r\n

\n

第 1 步:观察任意文件夹,例如使用 chokidar 的测试 1。

\n

步骤 2:在测试 1 中创建另一个文件夹,例如测试 2

\n

第 3 步:尝试重命名测试 2

\n

步骤 4:您应该看到 Windows 提示“文件夹正在使用”和“操作无法完成,因为其中的文件夹或文件已在另一个应用程序中打开。

\n

在此输入图像描述\n\xc2\xa0\n我们也观察到了以下情况,我们认为根本原因与文件夹权限正在使用的文件夹相同。

\n

注意:同样,如果子文件夹非空,则不允许用户删除它,并且用户会收到提示“文件夹访问被拒绝”,并且您需要提供管理员权限才能删除此文件夹。

\n

在此输入图像描述

\n

我们在 Github 上的 chokidar 论坛中发现了一些有用的链接,以下是链接。

\n

https://github.com/Bistard/nota/issues/149

\n

https://github.com/hoperyy/sync-directory/issues/53

\n

https://github.com/paulmillr/chokidar/issues/664

\n