Node.js之刪除文件夾(含遞歸刪除)


應用場景:比如像Eclipse這樣的IDE,右擊項目,出現選項,點擊選項中的刪除,就可以刪除這個項目及其下的子目錄包含文件(使用electron開發的桌面端項目多少都會用到)。

核心代碼如下:

    /**
     *
     * @param {*} url
     */
    function deleteFolderRecursive(url) {
        var files = [];
        /**
         * 判斷給定的路徑是否存在
         */
        if (fs.existsSync(url)) {
            /**
             * 返回文件和子目錄的數組
             */
            files = fs.readdirSync(url);
            files.forEach(function (file, index) {

                var curPath = path.join(url, file);
                /**
                 * fs.statSync同步讀取文件夾文件,如果是文件夾,在重復觸發函數
                 */
                if (fs.statSync(curPath).isDirectory()) { // recurse
                    deleteFolderRecursive(curPath);

                } else {
                    fs.unlinkSync(curPath);
                }
            });
            /**
             * 清除文件夾
             */
            fs.rmdirSync(url);
        } else {
            console.log("給定的路徑不存在,請給出正確的路徑");
        }
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM