node删除、复制文件或文件夹示例代码

网络编程 2025-04-05 14:02www.168986.cn编程入门

原文(假设):

在这个充满竞争的时代,成功不再是偶然,而是需要不断努力和拼搏的结果。只有那些勇于追求梦想、不断学习和成长的人,才能在激烈的竞争中脱颖而出。他们拥有坚定的信念和毅力,不断克服困难,不断挑战自我,才能走向成功的巅峰。

在这个日新月异的时代,成功不再是一场侥幸的偶然,而是汗水与坚韧铸就的辉煌。只有那些心怀梦想、不断磨砺自己的人,才能在汹涌澎湃的竞争中崭露头角。他们凭借着顽强的信念和毅力,一往无前地攀登着成功的高峰。每一个挑战都是他们成长的阶梯,每一次困难都是他们意志的试炼。他们在拼搏的道路上不断突破自我,熠熠生辉。

在这个飞速发展的时代,知识是前进的动力,学习是成长的阶梯。他们珍视每一次学习的机会,如同饥饿的人扑在面包上。他们懂得,只有不断学习新知,才能与时俱进,才能在竞争中保持领先。他们勇敢地面对未知,未知的领域,将每一个挑战转化为成长的动力。

他们的成功并非一蹴而就,背后隐藏着无数的汗水和付出。正是这些坚持和努力,铸就了他们独特的魅力。他们如同砥柱中流,砥砺前行,不断超越自我,勇攀成功的高峰。他们的成功故事,是一部关于毅力、努力和拼搏的传奇。

在他们的身上,我们看到了无限的可能和潜力。他们是这个时代最闪耀的明星,他们的成功激励着我们勇往直前,追求自己的梦想。让我们一同加入他们的行列,共同书写属于我们的辉煌篇章。

注意:本篇文章涉及Node.js环境下的文件与文件夹操作,适用于在win10,v10.16.1环境下运行。本文介绍了几种操作文件和文件夹的方法,包括复制文件、删除文件、复制文件夹和删除文件夹等。这些方法都有相应的示例代码,可以帮助读者更好地理解。

一、文件操作

1. 复制文件

本文提供了三种复制文件的方法:使用writeFileSync和readFileSync结合、使用copyFileSync和使用promises的copyFile方法。这些方法可以根据实际需求选择使用。以下是使用copyFile方法的示例代码:

```javascript

function copyFile(copiedPath, resultPath) {

copiedPath = path.join(__dirname, copiedPath);

resultPath = path.join(__dirname, resultPath);

try {

fsPromises.copyFile(copiedPath, resultPath).then(() => {

console.log('文件复制成功');

}).catch((err) => {

console.log(err);

});

}

```

2. 删除文件

使用unlinkSync方法可以实现删除文件操作。示例代码如下:

```javascript

function deleteFile(delPath) {

delPath = path.join(__dirname, delPath);

try {

if (fs.existsSync(delPath)) {

fs.unlinkSync(delPath);

} else {

console.log('文件不存在', delPath);

}

} catch (error) {

console.log('删除文件出错', error);

}

}

```

二、文件夹(目录)操作

1. 复制文件夹

本文提供了两种方式复制文件夹:使用child_process和使用递归的方式读取文件和文件夹再创建。以下是使用递归方式的示例代码:

```javascript

function copyFolder(copiedPath, resultPath, direct) {

if (!direct) {

copiedPath = path.join(__dirname, copiedPath);

resultPath = path.join(__dirname, resultPath);

}

function createDir(dirPath) {

fs.mkdirSync(dirPath);

}

if (fs.existsSync(copiedPath)) {

createDir(resultPath);

const files = fs.readdirSync(copiedPath, { withFileTypes: true });

for (let i = 0; i < files.length; i++) {

const cf = files[i];

const p = path.join(copiedPath, cf.name);

const crp = path.join(resultPath, cf.name);

if (cf.isFile()) {

const readStream = fs.createReadStream(p);

const writeStream = fs.createWriteStream(crp);

readStream.pipe(writeStream);

} else {

try {

fs.accessSync(path.join(crp, '..'), fs.constants.W_OK);

copyFolder(p, crp, true);

} catch (error) {

console.log('文件夹写入错误:', error);

}

}

}

} else {

console.log('路径不存在:', copiedPath);

}

} 复制代码 `javascript` `删除文件夹` `递归文件和文件夹` `逐个删除` `执行示例` `目录结构` `主要执行代码` `````` `````` `````` `````` `````` `````` `````` `````` `````` `````` `````` `````` (这里可以添加分段标题)`````` `````` `````` (续)三、删除文件夹操作同样可以使用递归的方式逐个删除文件和文件夹,然后删除空文件夹。以下是删除文件夹的示例代码:`````` ```javascript function deleteFolder(delPath) { delPath = path.join(__dirname, delPath); try { if (fs.existsSync(delPath)) { const delFn = function (address) { const files = fs.readdirSync(address); for (let i = 0; i < files.length; i++) { const dirPath = path.join(address, files[i]); if (fs.statSync(dirPath).isDirectory()) { delFn(dirPath); } else { deleteFile(dirPath, true); } } fs.rmdirSync(address); // 只能删空文件夹 } delFn(delPath); } else { console.log('路径不存在:', delPath); } } catch (error) { console.log('删除文件夹错误', error); } } ```四、执行示例为了演示这些方法的使用,我们可以创建一个简单的命令行应用程序,根据传入的参数执行相应的操作。例如,我们可以创建一个index.js文件,其中包含以下代码Cambrian呈现——文章的生动演绎与重新构思

上一篇:兄弟你的家就在这里 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by