【问题标题】:Replace a value in a file name with an other value from an excel sheet将文件名中的值替换为 Excel 工作表中的其他值
【发布时间】:2021-02-06 05:29:01
【问题描述】:

您好,我是一名 IT 学生,这是我在 stackoverflow 上的第一篇文章。

我选择创建帖子的原因是因为我遇到了批量重命名任务的小问题 我在 Excel 表中有两个值列表(大约 25.000 行)

我还有大约 25.000 个 jpg 文件,它们的名称中包含第 1 行的值:

jpg 文件示例:

  • ROS_15100.jpg
  • ROS_15100_1.jpg
  • ROS_15150.jpg
  • ROS_18730_18731_18732_18733_25343_25043_20709_01.jpg

  • Excel 冒号 A1:15100

  • Excel 冒号 A2:15150

  • Excel 冒号 A3:18730

  • Excel 冒号 B1:4543455460006

  • Excel 冒号 B2:4943691000545

  • Excel 冒号 B3:4943691000645

我需要 jpg 文件名来将冒号 A 的值与冒号 B 的值交换。 任何有关如何执行此操作的建议将不胜感激。

我尝试将 Bulk Rename Utility 与 Visual Basic 脚本结合使用:

Sub RenameFiles()
Dim xDir As String Dim xFile As String Dim xRow As Long With 
Application.FileDialog(msoFileDialogFolderPicker)
    .AllowMultiSelect = False If .Show = -1 Then
    xDir = .SelectedItems(1)
    xFile = Dir(xDir & Application.PathSeparator & "*")
    Do Until xFile = ""
        xRow = 0
        On Error Resume Next
        xRow = Application.Match(xFile, Range("A:A"), 0)
        If xRow > 0 Then
            Name xDir & Application.PathSeparator & xFile As _
            xDir & Application.PathSeparator & Cells(xRow, "B").Value
        End If
        xFile = Dir
    Loop 
End If 
End With 
End Sub

但是因为一些 jpg 文件的编号与 _1 _2 相同,依此类推,这并没有达到我希望的效果。我尝试在各种搜索引擎上搜索解决方案,但似乎找不到任何东西,所以我决定向stackoverflow 社区的聪明人提问。

【问题讨论】:

标签: excel file-rename


【解决方案1】:

此解决方案是shellexcel-formula 的组合。

Excel 表格

首先,在C列上运行此代码。

=Concatenate ("ren ", A2, ".jpg", " ", B2, ".jpg")

然后,将这个公式从C2开始拖到Cn

第二

外壳工作

  • copy整个专栏。

  • 转到图片文件,然后转到create-plain-text

  • 打开它,paste 我们的值变成纯文本。

  • 将文件另存为.bat

  • 运行它,你会发现所有图片的名字都被重命名了。

享受吧!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多