nodejs supprime le répertoire non vide

WBOY
Libérer: 2023-05-18 11:01:38
original
1005 Les gens l'ont consulté

Node.js est un runtime JavaScript qui exécute du code JavaScript côté serveur. Dans Node.js, vous pouvez effectuer des opérations sur le système de fichiers à l'aide du module "fs". Ces opérations du système de fichiers incluent la suppression de répertoires.

Dans Node.js, un répertoire peut être supprimé grâce à la fonction "rmdir" du module "fs". Toutefois, si le répertoire n'est pas vide, vous ne pouvez pas le supprimer directement. Vous devez supprimer récursivement tous les fichiers et sous-répertoires du répertoire avant de supprimer le répertoire lui-même. Voici un exemple d'extrait de code pour supprimer récursivement tous les fichiers et sous-répertoires d'un répertoire :

const fs = require('fs');
const path = require('path');

function deleteFolderRecursive(folderPath) {
    if (fs.existsSync(folderPath)) {
        fs.readdirSync(folderPath).forEach((file, index) => {
            const curPath = path.join(folderPath, file);
            if (fs.lstatSync(curPath).isDirectory()) {
                // 递归删除子目录
                deleteFolderRecursive(curPath);
            } else {
                // 删除文件
                fs.unlinkSync(curPath);
            }
        });
        // 删除空目录
        fs.rmdirSync(folderPath);
    }
}
Copier après la connexion

Cette fonction vérifie si le répertoire existe et, si c'est le cas, lit tous les fichiers et sous-répertoires du répertoire. Pour chaque fichier et sous-répertoire, il vérifie le type de fichier. S'il s'agit d'un répertoire, la fonction est appelée de manière récursive pour supprimer le sous-répertoire. Sinon, s'il s'agit d'un fichier, utilisez la fonction "unlinkSync" pour supprimer le fichier. Une fois tous les fichiers et sous-répertoires traités, la fonction utilise la fonction "rmdirSync" pour supprimer le répertoire lui-même.

Utilisez cette fonction pour supprimer les répertoires non vides. Voici un exemple d'extrait de code pour appeler cette fonction et supprimer un répertoire :

const fs = require('fs');
const path = require('path');

const folderPath = '<folder_path>'; // 替换为要删除的目录的路径
deleteFolderRecursive(folderPath);
Copier après la connexion

Dans cet extrait de code, remplacez la variable "folderPath" par le chemin d'accès au répertoire que vous souhaitez supprimer. La fonction "deleteFolderRecursive" est alors appelée pour supprimer récursivement le répertoire et tout son contenu.

Pour résumer, le module « fs » de Node.js fournit des méthodes pour supprimer des répertoires et des fichiers. La fonction "rmdir" peut supprimer des répertoires, mais pas des répertoires non vides. Pour supprimer un répertoire non vide, vous devez écrire une fonction récursive qui supprime tous les fichiers et sous-répertoires, puis supprime le répertoire lui-même. En utilisant l'extrait de code ci-dessus, vous pouvez facilement supprimer les répertoires non vides.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal