nodejs 重命名文件
const fs = require('fs');vardata = process.argv.splice(2);
// 1. 定义两个工具函数
// 获取指定目录路径下的所有文件名
const getFileNames = path => {
// 使用readdir获取指定目录下的所有文件名
return fs.readdirSync(path);;
}
// 根据指定字符截取文件名,返回截取后的字段
const getFileSuffix =(fileName, splitChar) => {
if(fileName){
// 取字符第一次出现的位置
const first = fileName.lastIndexOf(splitChar);
// 取字符最后一次出现的位置(根据需要选择)
// const first = fileName.lastIndexOf(splitChar);
const namelength = fileName.length; //取到文件名长度
return ;; //截取获得后缀名
}
}
// 2. 定义目录
const dirName = data;
// 3. 读取与改写
let files = getFileNames(dirName);
var json={};
files.forEach((item, i) => {
// 这里对旧名操作获取新名
let arrName = getFileSuffix(item, ".")
var songName = arrName;
var songSuffixName = arrName;
if(!json){
json={
"ImgPath":null,
"VideoPath":null,
"InfoPath":null,
"SrtPath":null
}
}
for (var key in json) {
if (Object.hasOwnProperty.call(json, key)&&key==songName) {
if(songSuffixName=="jpg"){
json["ImgPath"] = item;
}
else if(songSuffixName=="mp4")
{
json["VideoPath"] = item;
}
else if(songSuffixName=="json")
{
json["InfoPath"] = item;
}
else if(songSuffixName=="srt")
{
json["SrtPath"] = item;
}
}
}
if(arrName=="webm"){
console.log(arrName);
//使用rename方法进行重命名
//把webm的重新命名为mp4
fs.rename(dirName+"/"+item, dirName+"/"+arrName+".mp4", (err) => {
if (err) throw err;
console.log('重命名完成'+dirName+"/"+arrName+".mp4");
});
}
})
console.log(JSON.stringify(json));
//设置起始索引
var startPrefixNum = 74;
for (const key in json) {
if (Object.hasOwnProperty.call(json, key)) {
const element = json;
for (const key2 in element) {
if (Object.hasOwnProperty.call(element, key2)) {
const element2 = element;
if(element2){
var splitName =getFileSuffix(element2,".");
var prefixName = splitName;
var suffixName = splitName;
if(suffixName=="mp4"){
fs.rename(dirName+"/"+element2, dirName+"/"+startPrefixNum+".mp4", ((dirName,startPrefixNum,err) => {
if (err) throw err;
console.log('重命名完成'+dirName+"/"+startPrefixNum+".mp4");
}).bind(this,dirName,startPrefixNum));
}
else{
fs.rename(dirName+"/"+element2, dirName+"/"+startPrefixNum+element2, (err) => {
if (err) throw err;
console.log('重命名完成'+dirName+"/"+startPrefixNum+element2);
});
}
}
}
}
startPrefixNum++;
}
}输入node 脚本 路径
把视频信息分组 并按照序号重命名
页:
[1]