如何解决用Excel工作表中的其他值替换文件名中的值
Hallo,我是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与Visiual 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
社区的聪明人问。
解决方法
此解决方案是shell
和excel-formula
之间的组合。
Excel工作表
首先,在第C
列上运行此代码。
=Concatenate ("ren ",A2,".jpg"," ",B2,".jpg")
然后,将此公式从C2
拖到Cn
第二,
外壳工作
-
copy
整列。 -
转到图片文件,然后转到
create-plain-text
。 -
打开它,并将我们的值
paste
插入纯文本。 -
将文件另存为
.bat
。 -
运行它,您会发现所有图像的名称都已重命名。
享受!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。