精华内容
下载资源
问答
  • 文件夹文件名替换工具文件夹文件名文件夹文件名替换工具替换工具
  • 文件夹比较替换软件

    2018-11-06 09:06:49
    文件夹比较替换,可以实现新旧文件夹的内容比较。 一个免费的同步pc文件夹与移动硬盘文件夹的软件
  • bat可执行文件执行jar包,遍历文件夹下所有文件指定内容并且替换为目标文件。不需要idea和eclipse等工具打开,开发语言是JAVA。
  • 文本替换操作 var fs = require('fs'); var path = require('path'); // 根目录 let BASEPATHURL = path.resolve(__dirname, '..') // 移动目录 let startFileDirectory = BASEPATHURL + "888888" //..

    方法写作的初衷是因为

         项目打包之后  每次都要放到另一个项目里   而且项目文件的层级比较深  每次替换比较麻烦

    总结一点  就是    懒  

    888888 为按照自己的需求  需要手动更改的地方

    以下为代码中所涉及的一些方法

    1. 删除文件夹及子文件
    2. 删除文件
    3. 删除文件夹
    4. 复制文件
    5. 复制文件夹
    6. 文本替换操作
    var fs = require('fs');
    var path = require('path');
    
    // 根目录
    let BASEPATHURL = path.resolve(__dirname, '..')
    
    // 移动目录
    let startFileDirectory = BASEPATHURL + "888888"
    // 放置目录
    let endFileDirectory = BASEPATHURL + "888888"
    
    var startDate = new Date().getTime()
    
    // 删除复制执行
    rmDirFile(endFileDirectory, () => {
        console.log("全部删除完成,开始复制")
        copyDir(startFileDirectory, endFileDirectory, (res) => {
            console.log("全部复制完成")
            console.log("修改文件内容")
            replaceText(endFileDirectory)
        })
    });
    
    // 文本替换
    function replaceText(url) {
        let testHtml = fs.readFileSync(url + "/index.html", 'utf8')
        console.log("修改之前", testHtml)
        fs.writeFileSync(url + '/index.jsp', '888888' + testHtml, 'utf8')
        console.log("新建index.jsp文件完成")
        let newTestHtml = fs.readFileSync(url + "/index.jsp", 'utf8')
        console.log("index.jsp文件内容", newTestHtml)
        console.log("删除index.html文件开始")
        fs.unlinkSync(url + "/index.html");
        console.log("删除index.html文件完成")
        // 耗时
        let endDate = new Date().getTime()
    
        console.log("本次耗时", (endDate - startDate) , "ms")
    }
    
    // 删除
    function rmDirFile(path, cb) {
        let files = [];
        console.log("开始删除")
        if (fs.existsSync(path)) {
            var count = 0
            var checkEnd = function () {
                console.log("进度", count)
                ++count == files.length && cb && cb()
            }
            files = fs.readdirSync(path);
            files.forEach(function (file, index) {
                let curPath = path + "/" + file;
                if (fs.statSync(curPath).isDirectory()) {
                    console.log("遇到文件夹", curPath)
                    rmDirFile(curPath, checkEnd);
                } else {
                    fs.unlinkSync(curPath);
                    console.log("删除文件完成", curPath)
                    checkEnd()
                }
            });
            // 如果删除文件夹为放置文件夹根目录  不执行删除
            if (path == endFileDirectory) {
                console.log("删除文件夹完成", path)
            } else {
                fs.rmdirSync(path);
            }
            //为空时直接回调
            files.length === 0 && cb && cb()
        } else {
            cb && cb()
        }
    }
    
    // 复制文件
    function copyFile(srcPath, tarPath, cb) {
        var rs = fs.createReadStream(srcPath)
        rs.on('error', function (err) {
            if (err) {
                console.log('read error', srcPath)
            }
            cb && cb(err)
        })
    
        var ws = fs.createWriteStream(tarPath)
        ws.on('error', function (err) {
            if (err) {
                console.log('write error', tarPath)
            }
            cb && cb(err)
        })
    
        ws.on('close', function (ex) {
            cb && cb(ex)
        })
    
        rs.pipe(ws)
        console.log("复制文件完成", srcPath)
    }
    
    // 复制文件夹所有
    function copyDir(srcDir, tarDir, cb) {
        if (fs.existsSync(tarDir)) {
            fs.readdir(srcDir, function (err, files) {
                var count = 0
                var checkEnd = function () {
                    console.log("进度", count)
                    ++count == files.length && cb && cb()
                }
    
                if (err) {
                    checkEnd()
                    return
                }
    
                files.forEach(function (file) {
                    var srcPath = path.join(srcDir, file)
                    var tarPath = path.join(tarDir, file)
    
                    fs.stat(srcPath, function (err, stats) {
                        if (stats.isDirectory()) {
                            fs.mkdir(tarPath, function (err) {
                                if (err) {
                                    console.log(err)
                                    return
                                }
    
                                copyDir(srcPath, tarPath, checkEnd)
                                console.log("复制文件完成", srcPath)
                            })
                        } else {
                            copyFile(srcPath, tarPath, checkEnd)
                            console.log("复制文件完成", srcPath)
                        }
                    })
                })
    
                //为空时直接回调
                files.length === 0 && cb && cb()
            })
    
        } else {
            fs.mkdir(tarDir, function (err) {
                if (err) {
                    console.log(err)
                    return
                }
                console.log('创建文件夹', tarDir)
                copyDir(srcDir, tarDir, cb)
            })
        }
    
    }
    
    
    展开全文
  • 超级文件夹文本替换

    2008-03-04 13:02:14
    超级文件夹文本替换,批量替换,正则表达式方式替换
  • groovy 递归遍历文件夹替换文件内容

    千次阅读 2018-03-11 21:08:25
    def replace = {file -> def text = file.text.replaceAll(/[\s].*@.*/,"") file.withPrintWriter { printWriter -> printWriter.println(text) } }
            def replace = {file ->
                def text = file.text.replaceAll(/[\s].*@.*/,"")
                file.withPrintWriter { printWriter ->
                    printWriter.println(text)
                }
            }
    
            def getDirectory 
            getDirectory = {
                file ->
                file.listFiles().each{ x -> 
                    x.isDirectory() ? getDirectory(x) : replace(x)
                }
            }
            def dir = new File("D:/temp/test")
    
            getDirectory(dir)
    展开全文
  • 用这些文件来替换win7现有的那些文件,替换后,打开我的电脑,你将会看到惊喜~~,注意:此文件仅适用于32位的win7系统,64位勿用!系统版本为7600,就是传说中的RTM
  • 然后点击“选择文件夹”,您可以找到指定的文件夹中的部分或者所有文件,注意,您需要全选文件(CTRL+A),或者使用 SHIFT/CTRL 配合鼠标键选取多个文件),确定后自动进行批量替换。 Private Sub Document_Open() ...

    功能简介:批量多文件(全文件夹)的多文本一次性替换操作。
    运行本程序后,先输入需查找和与之对应的替换的文本,然后点击“选择文件夹”,您
    可以找到指定的文件夹中的部分或者所有文件,注意,您需要全选文件(CTRL+A),或
    者使用 SHIFT/CTRL 配合鼠标键选取多个文件),确定后自动进行批量替换。

    展开全文
  • 替换的Segger文件夹

    2021-05-04 10:30:00
    替换的Segger文件夹
  • 如果文件夹或文本文件(各类后缀文件)的名称中存在某个字符串,则将他替换为另外的字符串。 文件内容的替换 如果文本文件(各类后缀文件)的内容中存在某个字符串,则将他替换为另外的字符串。 二、细节要点 ...

    目录

    一、需求分析

    二、细节要点

    三、代码

    四、总结


    一、需求分析

    总体概述:替换

    1. 文件名称的替换

    如果文件夹或文本文件(各类后缀文件)的名称中存在某个字符串,则将他替换为另外的字符串。

    1. 文件内容的替换

    如果文本文件(各类后缀文件)的内容中存在某个字符串,则将他替换为另外的字符串。


    二、细节要点

    需要替换的是给定文件夹下面的所有文件。

    1. 文件是多层级的。(文件夹下面有文件夹有各类文本文件,级数不确定,文件个数有多有少,这里我们就需要使用递归)
    2. 指定某一类或几类的文件不替换内容。(比如:指定以.png结尾的文件只改名称不该内容)
    3. 需要替换的字符串以字典的形式传入,键为:将要修改的字符串,值为:替换后的字符串。
    4. 不替换文本内容的文本类型以元组的形式传入。
    5. 自定义函数实现,传入三个参数,分别为文件路径、需要替换字符串的字典、那些文本类型不替换内容的元组。三

     


    三、代码

    详细请看代码注释

    import os
    import chardet
    import time
    
    class replace:
        path = ""
        dict_repalce = {}
        tuple_notreplace = ()
        
        def __init__(self,p,d,t):
            self.path = p
            self.dict_replace = d
            self.tuple_notreplace = t
        
        def replace(self):
            if os.path.isdir(self.path):                                      # 判断是否是一个文件夹
                li_os = os.listdir(self.path)                                 # 返回一个文件节的列表
                for every_dir in li_os:                                       # 循环判断每一个是否是文件夹
                    filePath = os.path.join(self.path,every_dir)
                    if os.path.isdir(filePath):                              # 如果是一个文件夹
                        print(filePath,"这是一个文件夹")
                        filename = os.path.basename(filePath)
                        bool_change = False   #判断文件名是否更改的标志
                        for key in self.dict_replace.keys():                  # 循环查看key
                            if key in filename:                               # 查看key是不是存在文件名的一部分
                                filename_new = filename.replace(key,self.dict_replace[key])
                                bool_change = True   #文件名被更改
                        if bool_change == True: #判断文件名是否被修改
                            print(filename,"正在修改文件夹名。。。")
                            os.chdir(os.path.dirname(filePath)) #修改工作路径
                            os.rename(os.path.basename(filePath),filename_new)#修改文件名
                            filePath = os.path.abspath(filename_new)
                            print(filename_new,"文件夹名修改成功。。。")
                        replace(filePath,self.dict_replace,self.tuple_notreplace).replace()
    
                    else:
                        print(filePath,"这是一个文件")
                        filename = os.path.basename(filePath)
                        filename_li = filename.split('.')#分割,防止在修改文件名的时候把文件格式后缀一起修改了
                        bool_change = False   #判断文件名是否更改的标志
                        for key in self.dict_replace.keys():                  # 循环查看key
                            if key in filename_li[0]:                               # 查看key是不是存在文件名的一部分
                                filename_li[0] = filename_li[0].replace(key,self.dict_replace[key])
                                bool_change = True   #文件名被更改
                        if bool_change == True: #判断文件名是否被修改
                            filename_new = '.'.join(filename_li)#连接名称
                            print(filename,"正在修改文件名。。。")
                            os.chdir(os.path.dirname(filePath)) #修改工作路径
                            os.rename(os.path.basename(filePath),filename_new)#修改文件名
                            filePath = os.path.abspath(filename_new)
                            print(filename_new,"文件名修改成功。。。")
    
    
                        for notreplace in self.tuple_notreplace:                       # 循环不能更改内容的元组
                            if os.path.basename(filePath).endswith(notreplace):      # 判断是不是不能更改类型的文件
                                print("文件内容没有修改。。。。")
                                break
                        else:
                            print("文件内容正在修改。。。。")
                            code = chardet.detect(open(filePath,'rb').read())['encoding']#获取文件编码
                            print('编码格式',code)
                            with open(filePath,errors='ignore',encoding=code) as f:#以自己的编码格式打开文件
                                file_str = f.read()
                            for key in self.dict_replace.keys():                  # 循环查看key
                                if key in file_str:                                # 查看key是不是存在文件名的一部分
                                    file_str = file_str.replace(key,self.dict_replace[key])
                            with open(filePath,'w',encoding=code) as f:
                                f.write(file_str)
                                print("文件内容修改完成。。。。")
                            
    
            elif os.path.isfile(self.path):                                    # 判断是不是一个文件
                filename = os.path.basename(self.path)
                filename_li = filename.split('.')#分割,防止在修改文件名的时候把文件格式后缀一起修改了
                bool_change = False   #判断文件名是否更改的标志
                for key in self.dict_replace.keys():                  # 循环查看key
                    if key in filename_li[0]:                               # 查看key是不是存在文件名的一部分
                        filename_li[0] = filename_li[0].replace(key,self.dict_replace[key])
                        bool_change = True   #文件名被更改
                if bool_change == True: #判断文件名是否被修改
                    filename = '.'.join(filename_li)
                    print(filename,"正在修改文件名。。。")
                    os.chdir(os.path.dirname(self.path)) #修改工作路径
                    os.rename(os.path.basename(self.path),filename)#修改文件名
                    self.path = os.path.abspath(filename)
                    print(filename,"修改成功文件名成功。。。")
                
                for notreplace in self.tuple_notreplace:                       # 循环不能更改内容的元组
                    if os.path.basename(self.path).endswith(notreplace):      # 判断是不是不能更改类型的文件
                        print("文件内容没有修改。。。。")
                        break
                else:
                    print("文件内容正在修改。。。。")
                    code = chardet.detect(open(filePath,'rb').read())['encoding']
                    with open(self.path,encoding=code) as f:
                        file_str = f.read()
                    for key in self.dict_replace.keys():                  # 循环查看key
                        if key in file_str:                                # 查看key是不是存在文件名的一部分
                            file_str = file_str.replace(key,self.dict_replace[key])
                    with open(self.path,'w',encoding=code) as f:
                        f.write(file_str)
                        print("文件内容修改完成。。。。")
                             
                        
    if __name__=="__main__":
        path = "D:\TestABCabc 1\wwwroot"
        dict_replace = {'a':"ZQQ",'c':'GG'} # 需要替换字符串的字典
        tuple_notreplace = ('.png','.pptx','.xlsx','.docx','jpg','psd','.eot','.ttf','.gif') #不替换内容的元组
        re = replace(path,dict_replace,tuple_notreplace)
        start = time.clock()
        print(start)
        re.replace()
        end = time.clock()
        print(end)
        print ("程序运行时间:",end-start)

    四、总结

    在写代码的时候现先考虑传入进来的是文件夹还是文件,之后在进行下一步的步骤,还要考虑代码的优化问题,我这里的代码明显优化不够,跑的太慢。在打开文件夹的时候需要以文本本身的编码方式打开,我们就需要提前获取到他的文本编码格式。

     

     

    展开全文
  • 背景:需要把把指定文件夹下的所有方法名进行统一替换为另外的名字 方式:右键要替换文件夹
  • 文件夹美化工具,系统默认文件夹图标替换工具。 【功能说明】 1、文件夹美化工具是一个很好玩的系统美化工具; 2、可以替换系统默认的文件夹图标,以及文件夹背景图; 3、要搬移整个文件夹或者压缩整个文件夹再解压,...
  • 批量 文件 更名 文件夹 正则 替换 稳定 免费 最新 最全
  • 超强中文搜索替换工具批量替换自动比对文件夹搜索,支持批量搜索,中文字符替换
  • 文件夹中,文件名称的批量替换。 可用于文件名称的批量处理。
  • Idea指定文件夹全局替换

    千次阅读 2020-07-24 15:40:11
  • basics:一开始建git仓库把源文件夹替换掉了,本地github上能看到文件,网页的上传不上去。于是把代码复制保存了下来,丢失了iconfont和icomoon文件夹。但都是最基础的css ,js,jq能做的东西,存个档温故知新
  • 一个非常经典的文本替换工具,你只要指定一个文件夹,再指定一种后缀名文件。就可以替换里面你想替换的内容!
  • 文件夹一次性替换word文档文件夹一次性替换word文档文件夹一次性替换word文档
  • 前几日cmake了一个工程,发现环境设置和文件载入的设置全部是绝对路径,一个头疼啊,成百上千个文件和依赖库、头文件等设置如若一个一个去改,还不崩溃了,于是写了一个小工具,命令行程序,支持文件夹级别,共享...
  • 可单个查找替换。可批量根据excel对照表,批量替换。Excel,左边为老字符,右边为新字符。
  • 批量替换文件夹里所有文本里的相同字符串,绝对快速执行,同时有还原功能,和日志记录,确保文件的绝对安全。
  • 批量 文件夹 文件 查找 替换 可撤销 注册码 稳定 最新 最全
  • 文件夹中查找替换所有的字符串 1.Linux 系统 find test -name "*.php" -print|xargs sed -i 's/abcd/ohyes/g' 2.mac系统中 sed 命令 i 参数后面需要加一个备份的文件名,否则执行时会抱 extra ...
  • 可以在指定的文件夹内搜索,替换字符串,可以设定、忽略指定的文件后缀名,可以整合进系统的右键。双击搜索结果列表,可以用指定工具打开指定文件。
  • Linux 系统中经常会遇到批量替换文件内容的命令,有如下几个场景1、批量替换文件夹内文件的内容。 配合sed 和 grep两个命令使用。 1.1 在一个文件中替换字符串的命令。 sed -i "s/beijing/shanghai/g" ...
  • Actual Search 批量 文件夹 文件 查找 替换 可撤销 注册码 稳定 最新 最全 Actual Search & Replace is an easy to use, yet powerful tool to perform the search and replace operations across multiple ASCII ...
  • 批量替换文件夹中的内容

    千次阅读 2015-07-14 11:34:40
    近期要处理好多文件夹中的文件,之前都是一一打开每个文件,然后使用Ctrl+F键一一替换,现在有一个更快的方法,就是批量替换文件夹中的内容,一般的编辑器都有这个功能,压缩包,网上的一些批量替换文件,都可以实现...
  • 转自:https://blog.csdn.net/imfour/article/details/79069739rem 替换字符串 :cmdReplaceStr echo 要处理的文件类型: rem 取得输入的文件类型 set /p type= echo 被替换的字符: rem 取得要被替换的字符串 set /p ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 289,429
精华内容 115,771
关键字:

怎么进行文件夹替换