nodejs创建多层目录
1. fs.mkdir不能一次创建多层目录,必须先创建上层目录,再创建下层目录
//同步
fs.mkdirSync("./tmp/");
fs.mkdirSync("./tmp/test/"); //异步
fs.mkdir("./tmp/",function(err){
if (err){
return console.error(err);
}
console.log("tmp目录创建成功。");
fs.mkdir("./tmp/test/",function(err){
if (err){
return console.error(err);
}
console.log("test目录创建成功。");
});
});
2. path.dirname用法
var path= require("path");
path.dirname('/foo/bar/baz/asdf/quux')
// returns
'/foo/bar/baz/asdf'
多次调用path.dirname将会逐层返回上级目录
path.dirname(path.dirname('/foo/bar/baz/asdf/quux'))
// returns
'/foo/bar/baz'
path.dirname(path.dirname(path.dirname('/foo/bar/baz/asdf/quux')))
// returns
'/foo/bar'
path.dirname(path.dirname(path.dirname(path.dirname('/foo/bar/baz/asdf/quux'))))
// returns
'/foo'
3. nodejs递归创建目录
var fs = require("fs");
var path = require("path");
// 递归创建目录 异步方法
function mkdirs(dirname, callback) {
fs.exists(dirname, function (exists) {
if (exists) {
callback();
} else {
// console.log(path.dirname(dirname));
mkdirs(path.dirname(dirname), function () {
fs.mkdir(dirname, callback);
console.log('在' + path.dirname(dirname) + '目录创建好' + dirname +'目录');
});
}
});
}
// 递归创建目录 同步方法
function mkdirsSync(dirname) {
if (fs.existsSync(dirname)) {
return true;
} else {
if (mkdirsSync(path.dirname(dirname))) {
fs.mkdirSync(dirname);
return true;
}
}
}
mkdirs('hello/a/b/c',() => {
console.log('done');
})
// mkdirsSync('hello/a/b/c');
nodejs创建多层目录的更多相关文章
- [nodejs] 同步/异步创建多层目录
背景 有时项目里需要同时创建多层目录的功能,但低版本的nodejs并没有提供快捷的api 尽管在v10.12.0版本 mkdir() 第二个参数支持recursive 参数,为true时能递归创建,但 ...
- MFC 创建多层目录
创建多层目录 BOOL CTestToolCtr::CreateFolder(CString strNewFolder) { /************************************ ...
- Java File类 mkdir 不能创建多层目录,如果是多层,可以调mkdirs
public static void createDir(String destDirName) { File dir = new File(destDirName); if (!dir.exists ...
- Java File类 mkdir 不能创建多层目录
File f = new File("/home/jp/Upload"); if ((!f.exists()) || (!f.isDirectory())) {boolean re ...
- nodejs生成多层目录和生成文件的通用方法
/** *生成多层目录 * @param dir 多层目录 * @param split 分隔符,ex:'/' 对应的目录地址:'2015/10/10' * @param mode 目录权限(读写权限 ...
- python创建多层目录的方式
将 os.mkdir 改成 os.makedirs(opDir) 哈.
- Node fs 创建多层文件夹
一.dirname()方法 1. 获得路径当中最后一段文件或文件夹所在的路径.多次调用path.dirname将会逐层返回上级目录 var path=require("path") ...
- Java File文件操作 创建文件\目录,删除文件\目录
Java手册 java.io 类 File java.lang.Object java.io.File 所有已实现的接口: Serializable, Comparable<File> p ...
- pandas学习(创建多层索引、数据重塑与轴向旋转)
pandas学习(创建多层索引.数据重塑与轴向旋转) 目录 创建多层索引 数据重塑与轴向旋转 创建多层索引 隐式构造 Series 最常见的方法是给DataFrame构造函数的index参数传递两个或 ...
随机推荐
- JMeter 录制APP脚本
具体步骤: 1.启动JMeter: 2.在“测试计划”中添加“线程组”: 3.“工作台”中添加“HTTP代理服务器”: 4.配置代理服务器:端口:8888(默认值),HTTPS Domains:192 ...
- 跟浩哥学自动化测试Selenium -- 浏览器的基本操作与元素定位(3)
浏览器的基本操作与元素定位 通过上一章学习,我们已经学会了如何设置驱动路径,如何创建浏览器对象,如何打开一个网站,接下来我们要进行一些复杂的操作比如先打开百度首页,在打开博客园,网页后退,前进等等,甚 ...
- Linux命令应用大词典-第25章 备份与还原
25.1 mkisofs:创建ISO9660/Joliet/hfs文件系统
- lesson 17 The longest suspension bridge in the world
lesson 17 The longest suspension bridge in the world agreeable adj. 令人愉快的:适合的 = pleasant be located ...
- django 与 flask里面从已有数据库表中反向生成models
django: 配置好数据库连接 python manage.py inspectdb > models.py 即可反向生成orm使用的models, 注意: > 后面可以定义为指定路 ...
- 凸包算法(Graham扫描法)详解
先说下基础知识,不然不好理解后面的东西 两向量的X乘p1(x1,y1),p2(x2,y2) p1Xp2如果小于零则说明 p1在p2的逆时针方向 如果大于零则说明 p1在p2的顺时针方向 struct ...
- php redis和java混用问题
目前项目是 一个php 一个java 共用一套 redis key value 也都一样, java 使用 gson 解析json 会将php 设置的json里面看 {"a&q ...
- STM32串口通信UART使用
STM32串口通信UART使用 uart使用的过程为: 1. 使能GPIO口和UART对应的总线时钟 2. 配置GPIO口的输出模式 3. 配置uart口相关的基本信息 4. 使能uart口的相关的中 ...
- [原创]Docker学习记录: Shipyard+Swarm+Consul+Service Discover 搭建教程
网上乱七八糟的资料实在是太多了, 乱, 特别乱, 而看书呢, 我读了2本书, 一本叫做<>, 另一本叫做<< Docker进阶与实战>> 在 服务发现这块讲的又不清 ...
- struts2之form标签theme属性详解
struts2中theme属性包括xhtml,html,simple,ajax .默认是xhtml theme:设置struts2标签的主题,默认为xhtml. theme=xhtml时:会默认额外生 ...