|
- const fs = require('fs');
- var data = 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 [fileName.substring(0,first ),fileName.substring(first + 1, namelength)];; //截取获得后缀名
- }
-
- }
- // 2. 定义目录
- const dirName = data[0];
- // 3. 读取与改写
- let files = getFileNames(dirName);
- var json={};
- files.forEach((item, i) => {
- // 这里对旧名操作获取新名
- let arrName = getFileSuffix(item, ".")
- var songName = arrName[0];
- var songSuffixName = arrName[1];
- if(!json[songName]){
- json[songName]={
- "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[key]["ImgPath"] = item;
- }
- else if(songSuffixName=="mp4")
- {
- json[key]["VideoPath"] = item;
- }
- else if(songSuffixName=="json")
- {
- json[key]["InfoPath"] = item;
- }
- else if(songSuffixName=="srt")
- {
- json[key]["SrtPath"] = item;
- }
-
- }
- }
- if(arrName[1]=="webm"){
- console.log(arrName[0]);
- //使用rename方法进行重命名
- //把webm的重新命名为mp4
- fs.rename(dirName+"/"+item, dirName+"/"+arrName[0]+".mp4", (err) => {
- if (err) throw err;
- console.log('重命名完成'+dirName+"/"+arrName[0]+".mp4");
- });
- }
-
- })
- console.log(JSON.stringify(json));
- //设置起始索引
- var startPrefixNum = 74;
- for (const key in json) {
- if (Object.hasOwnProperty.call(json, key)) {
- const element = json[key];
- for (const key2 in element) {
- if (Object.hasOwnProperty.call(element, key2)) {
- const element2 = element[key2];
- if(element2){
- var splitName =getFileSuffix(element2,".");
- var prefixName = splitName[0];
- var suffixName = splitName[1];
- 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 脚本 路径
把视频信息分组 并按照序号重命名
|
|