javascript - 在 NodeJs 中创建文件夹
问题描述
我正在尝试在 NodeJs 中编写一个基本的 JS 脚本。该脚本将创建一个文件夹,该文件夹的名称为reponses_timestamp。
我已经编写了附加脚本,但是,当它运行时,我收到一条错误消息:
Einval: invalid argument.
有想法该怎么解决这个吗?
测试.js
const fs = require('fs');
const today = new Date();
const date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();
const time = today.getHours()+":"+today.getMinutes()+":"+today.getSeconds();
const dateTime = date + '_' + time;
const uniqueIdentifier = dateTime;
// const folderName = './responses' + '_' + uniqueIdentifier;
try {
if (!fs.existsSync('./responses' + '_' + uniqueIdentifier)) {
fs.mkdirSync('./responses' + '_' + uniqueIdentifier)
}
} catch (err) {
console.error(err)
}
解决方案
如前所述,问题是由于使用了冒号,因为 Windows(也根据您的:
屏幕截图显示为路径的 Windows)不允许特殊字符。
它没有提到一个解决方案,所以我想提一下你正在做的事情,这可以通过moment js
使用两行代码和用冒号替换破折号来轻松实现:
const date = new Date()
const uniqueIdentifier = moment(date).format('YYYY-MM-DD-HH-MM')
console.log('uuid', uniqueIdentifier)
// Result: "uuid" "2021-05-13-11-05"
甚至是单线:
const uniqueIdentifier = moment(new Date()).format('YYYY-MM-DD-HH-MM')
console.log('uuid', uniqueIdentifier)
// Result: "uuid" "2021-05-13-11-05"
推荐阅读
- scrapy - 当我尝试启动蜘蛛时,Scrapyd api get 和 exeption
- reactjs - 如何设置 HOC 的“属性”?
- javascript - 替换为其他文本
- ios - Flutter,无法为 iOS 构建:缺少 .h 文件
- android - 在 ScrollView 内的 Textview 中复制文本
- html - 如何在另一个 div 中的两个 div 之间插入一些水平空间?
- html - 如何修复导航栏上的悬停下拉菜单?
- python - sklearn.preprocessing.MinMaxScaler:不可广播的输出形状错误
- python - Python Loop 超出范围
- ios - 从 iOS 通知中获取有效负载数据的问题