【发布时间】:2020-01-17 04:03:36
【问题描述】:
我的文件夹中有几张我学生的照片,还有一个文本文件中包含学生姓名的列表。 我想创建一个批处理文件来使用文本文件(names.txt)重命名图片,这样每张图片都有学生的名字。
所有图片均为 .png 格式。我搜索了这个网站并尝试了以下代码:
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
rem Load the list of new filenames
set i=0
for /F "delims=" %%a in (names.txt) do (
set /A i+=1
set "newname[!i!]=%%a"
)
rem Do the rename:
set i=0
for /F "delims=" %%a in ('dir /b /o:n *.png') do (
set /A i+=1
for %%i in (!i!) do ren "%%a" "!newname[%%i]!"
)
我在文件夹中创建批处理文件,当我执行它时,没有任何反应。 我认为它没有选择正确的文件夹来工作,但我不确定。
文件示例:
1.png
2.png
3.png
names.txt 示例
1_john_dalton
2_carol_denvers
3_steve_austin
【问题讨论】:
-
你有很多 for 循环试图实现不那么复杂的事情......但是实际文件名的示例和
names.txt的内容示例在哪里? -
图片被命名为 1 到 25。文件 names.txt 的名称在一列中:1_john_dalton 2_carol_denvers 3_steve_austin ...
-
那么你做到了吗?
-
遗憾的是它不起作用。我想我会用老式的方式来做。非常感谢您花时间帮助我!!
-
不工作?这是一个非常广泛的声明。
标签: windows batch-file text rename