node递归批量重命名指定文件夹下的文件
1、用法:将js内容拷到一文件中,命名为batchRename.js;
该文件可以放到任何你想更改文件名的文件夹目录,然后dos(或 linux 终端)进入该文件夹,然后执行node batchRename.js;
然后它就会把该文件夹下的所有文件名前面加上它所在的文件夹名和一个"-"。
它的执行是递归的,会影响下面的所有子目录。
2、重命名文件的规则可以通过修改里面带注释那个if里的逻辑进行自定义。
var path = require("path");
var fs = require("fs");
var rootPath = __filename;
renameFilesInDir(path.dirname(rootPath));
function changeFileName(filepath){
fs.stat(filepath,function(err,stats){
if(stats.isFile()){
//console.log("isFile,chaning filename...");
var filename = path.basename(filepath);
var parentDir =path.dirname(filepath);
var parentDirname = path.basename(path.dirname(filepath));
var thisFilename = path.basename(__filename);
//console.log(thisFilename);
//这个if就是进行更改文件名的逻辑,可以自行定义,这里定义为将文件命名为当前文件夹的名字加"-文件自身名"
if(filename!=thisFilename&&filename.indexOf(parentDirname)<0){
var newName = parentDirname+"-"+filename;
var newPath =parentDir+"\\"+newName;
console.log("going to rename from "+filepath+" to "+newPath);
fs.rename(filepath,newPath);
}
}else if(stats.isDirectory()){
console.log("============["+filepath+"] isDir===========");
renameFilesInDir(filepath);
}else{
console.log("unknow type of file");
}
});
}
function renameFilesInDir(dir){
fs.readdir(dir,function(error,files){
var len = files.length;
var file = null;
for(var i=0;i<len;i++){
file = files[i];
changeFileName(dir+"\\"+file);
}
});
}
node递归批量重命名指定文件夹下的文件的更多相关文章
- PHP重命名文件夹下的文件后缀名
PHP重命名文件夹下的文件后缀名<pre> public function zhuanhouzuiming(){ $lujings='upload/'; $filesnames = sca ...
- java读取文件夹下所有文件并替换文件每一行中指定的字符串
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.I ...
- FILE文件删除操作(删除指定文件夹下所有文件和文件夹包括子文件夹下所有文件和文件夹),就是删除所有
2018-11-05 19:42:08开始写 选择 删除 1.FileUtils.java类 import java.io.File;//导入包 import java.util.List;//导入 ...
- C# 读取指定文件夹下所有文件
#region 读取文件 //返回指定目录中的文件的名称(绝对路径) string[] files = System.IO.Directory.GetFiles(@"D:\Test" ...
- cocos2d-x:读取指定文件夹下的文件名称+解决中文乱码(win32下有效)
援引:http://blog.csdn.net/zhanghefu/article/details/21284323 http://blog.csdn.net/cxf7394373/article/d ...
- Delphi - 本地路径的创建、清空本地指定文件夹下的文件
本地路径的创建 在做下载操作时,我们一般先把文件下载到本地指定的路径下,然后再做其他使用. 为了防止程序出现异常,我们通常需要先判断本地是否存在指定的路径. 以C盘Tmp文件夹为例,我们可以这样做,代 ...
- Linux 批量查找并替换文件夹下所有文件的内容
1.批量查找某个目下文件的包含的内容 cd etc grep -rn "查找的内容" ./ 2.批量替换某个目下所有包含的文件的内容 cd etc sed -i "s/查 ...
- 创建批处理文件.bat文件(删除指定文件夹下的文件及文件夹并循环)
1.针对仅仅是删除文件夹下的文件的操作:使用del命令,单纯的删除文件操作,如下:del /f /s /q C:\Users\dell\AppData\Local\Temp\*.* 2.删除文件夹操作 ...
- java中File类应用:遍历文件夹下所有文件
练习: 要求指定文件夹下的所有文件,包括子文件夹下的文件 代码: package 遍历文件夹所有文件; import java.io.File; public class Test { public ...
随机推荐
- usb四种传输模式bulk
当USB插入USB总线时,USB控制器会自动为该USB设备分配一个数字来标示这个设备.另外,在设备的每个端点都有一个数字来表明这个端点.USB设备驱动向USB控制器驱动请求的每次传输被称为一个事务(T ...
- 阿里云-docker安装redis AND(docker基本操作命令)
docker官网:https://hub.docker.com/search?q=redis&type=edition&offering=enterprise 1.拉取最新的redis ...
- 关于order_by
- 【洛谷P4173】残缺的字符串
题目大意:给定一个文本串和一个模板串,串中含有通配符,求文本串中有多少个位置可以与文本串完全匹配. 题解:利用卷积求解字符串匹配问题. 通配符字符串匹配的数值表示为 \[\sum\limits_{i ...
- DB2中常见sqlCode原因分析
000 | 00000 | SQL语句成功完成 01xxx | SQL语句成功完成,但是有警告 +012 | 01545 | 未限定的列名被解释为一个有相互关系的引用 +098 | 01568 | 动 ...
- ${filename}用法一:${file内部的#%的匹配方式}
假设我们定义了一个变量为: file=/dir1/dir2/dir3/my.file.txt 我们可以用${ }分别替换获得不同的值: ${file#*/}:拿掉第一条/及其左边的字串:dir1/di ...
- 《转发》特征工程——categorical特征 和 continuous特征
from http://breezedeus.github.io/2014/11/15/breezedeus-feature-processing.html 请您移步原文观看,本文只供自己学习使用 连 ...
- node监视文件或者文件夹的变化
1.node提供一个watch这个API,可以监视文件或文件夹的变化,当发生改变时,做出某些操作.(当做代码本地构建时,经常使用) const fs = require('fs'); fs.watch ...
- QT:如何重新生成makefile文件
- CSS的Animation&Transition&gradients属性
㈠Animation&Transition&gradients 代码示例 圆形,渐变颜色,旋转,当鼠标放在圆上,圆旋转变大 <!DOCTYPE html> <html ...