Node.js 如何使用cp命令复制文件/文件夹?
我有一个文件夹,Node.js 如何使用cp命令复制文件/文件夹?,node.js,shell,cp,Node.js,Shell,Cp,我有一个文件夹,cs-template,结构如下: cs-template |_ public |_ assets |_ img |_ example.png |_ robots.txt |_ src |_ components |_ Accessibility
cs-template
,结构如下:
cs-template
|_
public
|_
assets
|_
img
|_
example.png
|_
robots.txt
|_
src
|_
components
|_
Accessibility
|_
Accessibility.js
|_
routes
|_
AppRoutes.js
|_
App.js
|_
package.json
我想将cs template
文件夹中的所有内容复制到new\u dest1
文件夹中。它们都是在同一级别定义的。我基本上是在调用一个HTTP请求,然后我想复制内容。因此,在路线控制器中,我定义了以下逻辑:
'use strict';
var mongoose = require('mongoose'),
Task = mongoose.model('CampusStore');
exports.list_all_campus_stores = function(req, res) {
Task.find({}, function(err, campus_store) {
const system = require('system-commands');
system('cp -r ./cs-template/**/ ./new_dest1').then(output => {
console.log(output)
}).catch(error => {
console.error(error)
});
if (err)
res.send(err);
res.json(campus_store);
});
};
cp-r./cs-template/*./new_dest1
仅复制public
文件夹(也不完整)和package.json
文件
cp-r./cs template/***./new_dest1
复制所有内容接受父文件夹public
和src
文件夹(意味着这些文件夹中的文件夹/文件正在被复制,但文件夹本身没有)和package.json
。正确的方法是什么?试试这个:
您可以使用命令将文件夹/源的内容复制到另一个现有文件夹/目的地
cp -a /source/. /dest/
-a选项是一个改进的递归选项,它保留所有文件属性,还保留符号链接
这个。在源路径的末尾是一个特定的cp语法,它允许复制所有文件和文件夹,包括隐藏的文件和文件夹
-答:保留指定的属性,如目录、文件模式、所有权、时间戳,如果可能,还保留其他属性:上下文、链接、xattr、全部
-v:解释正在做什么,详细视图
-r:递归复制目录。范例
如果不起作用,则使用替代选项:
有些模块支持复制文件夹及其内容。最流行的是扳手.js:
//深度复制现有目录
wrench.copyDirSyncRecursive('directory_to_copy','location_where_copy_should_end_up');
另一种选择是节点fs extra:
fs.copy('/tmp/mydir', '/tmp/mynewdir', function (err) {
if (err) {
console.error(err);
} else {
console.log("success!");
}
});
仅通过此复制
package.json
如何cp-r./cs template//new_dest1
?在终端中运行此命令时会发生什么?它是否会引发任何权限问题或其他问题?我认为首先,在将命令输入代码之前,您应该在终端上尝试该命令。cp-r./cs template//new_dest1
当我从终端运行时,会正确复制所有内容。但是,当我在代码中运行它时,它不会复制src
文件夹,并且会丢失public
文件夹中的一些文件夹/文件。我能做些什么呢?在Linux上,阅读或尝试/bin/cp--help
。也考虑使用