如何用EXCEL里的数据对其它文件进行文件名批量的替换修改

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用EXCEL里的数据对其它文件进行文件名批量的替换修改相关的知识,希望对你有一定的参考价值。

简单的说就是,我有一个文件夹,里面有几千个图片,图片的文件名是数字.jpg;
然后,在我的一个EXCEL文件里有两列数据,A列就是上面那个文件夹里每张图片的文件名(不包含扩展名),B列是另一组数字;
我现在要做的是,把几千个图片的文件名按A、B列的一一对应关系将其改为B列数据.JPG。
哪位高手知道具体这要怎么做啊?

假设旧文件名在A列,新文件名在B列。

使用VBA宏即可。


具体步骤:

    打开Excel

    按下快捷键Alt+F11,打开宏编辑器

    输入代码

Sub renameGo_by_zzllrr()
    Application.ScreenUpdating = False
    
    If Range("A1") = "" Then End
    
    Set fs = CreateObject("Scripting.FileSystemObject")
    cnt = 0
    For i = 1 To Columns(1).Find("*", , , , 1, 2).row
        file = "D:\\zzllrr\\" & Range("A" & i)
        n = Range("B" & i)
        If Dir(file, 16) = "" Then
            Range("A" & i).Interior.Color = RGB(255, 0, 0)
            
        Else
            
            If n <> "" Then
                Set f = fs.GetFile(file)
                If Dir("D:\\zzllrr\\" & n) <> "" Then
                    With Range("A" & i & ":B" & i).Interior
                        .Pattern = xlSolid
                        .PatternColorIndex = xlAutomatic
                        .Color = 255
                    End With
                Else
                    f.Name = n
                    cnt = cnt + 1
                End If
            End If
        End If
    Next i
    Set f = Nothing
    Set fs = Nothing
    
    If cnt > 0 Then MsgBox "Rename OK! Well Done!", vbOKOnly, Sheets(1).Name
    
End Sub


    按下F5执行即可。

参考技术A 文件批量处理百宝箱V8.0的源匹配功能 参考技术B 可以用doc命令操作,、
1、假设原来文件夹是pic,在D根目录下。然后在pic下面新建一个文件夹new
2、在excel的c列填入公式:="copy "&A2&".jpg new\"&B2&".jpg"
3、进入DOS(开始-运行-敲入 cmd)
4、进入图片文件夹(d: 回车,然后敲入cd D:\pic)
5、将上面excel里面的c列批量拷贝到dos里面即可
参考技术C 你要做的是文件操作,这跟 Excel 已没什么关系。

根据你的要求,可以用 ACDSee 软件的批处理功能进行批量的改名,但这文件名得有规律,否则你只能一个一个来。
参考技术D 这个是关于批量修改文件名的问题,无法用excel处理的,要看B列数据有什么规律,用其他工具重命名。本回答被提问者采纳

如何用java读取excel文件

参考技术A package excelPoiTest;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;

/**
 * @author Gerrard
 * @Discreption 根据已有的Excel模板,修改模板内容生成新Excel
 */
public class CreateExcel 

public static void main(String[] args) throws IOException 

//excel模板路径
File fi=new File("D:\\\\test.xls");
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(fi));
//读取excel模板
HSSFWorkbook wb = new HSSFWorkbook(fs);
//读取了模板内所有sheet内容
HSSFSheet sheet = wb.getSheetAt(0);
//在相应的单元格进行赋值
HSSFCell cell = sheet.getRow(1).getCell(3);
cell.setCellValue("测试");
HSSFCell cell2 = sheet.getRow(3).getCell(3);
cell2.setCellValue("数据");
HSSFCell cell3 = sheet.getRow(0).getCell(0);
cell3.setCellValue("大标题");
//修改模板内容导出新模板
FileOutputStream out = new FileOutputStream("D:/export.xls");
wb.write(out);
out.close();

 注意引入POI的jar包

参考技术B 你好
可以使用jxl或者poi插件进行对excel的操作

以上是关于如何用EXCEL里的数据对其它文件进行文件名批量的替换修改的主要内容,如果未能解决你的问题,请参考以下文章

如何用Python打开指定的某个文件夹?比如我要用Python打开D盘里的一个普通文件,该怎么做

如何用c语言进行文件的批量重命名

如何用批处理,根据日期并且跳过双休日,来批量命名Excel文件。如20131014这样的格式。每个

如何用bat文件打开另一文件夹下面的bat文件

如何用Java实现将word里的表格数据写入到excel中去

如何用EXCEL VBA批量提取JPG文件日期时间信息到表格中?