第1个回答 2012-02-25
我们的照片是用学籍号命名的,没有学生姓名。我采用的是在DOS下用“批处理”文件对各年级的照片进行重命名。方法如下:
(1)、在电子学籍中导出全部学生信息(电子表格EXCEL格式),只保留学籍号和姓名两列。A列:学籍号(照片的原文件名),B列:姓名。
(2)、在C1单元格中输入公式:=A1&B1&”.jpg” (在C1单元格中显示新文件名:(学籍号+姓名).jpg)
(3)、在D1单元格中输入公式:=”rename@”&A1&”.jpg”&”@“&C1
(本公式相当于形成dos下批处理文件中的命令。@表示空格。)
(4)、下拉二公式。
(5)、将D列COPY到文本文件中。为方便,这里可以分班级COPY,每个班形成一个单独的文件,并以班级命名,比如“2008.txt”
(6)、将上述文本文件另存为.BAT文件(如2008.BAT),需要将该文件存在有照片的目录下。 最好将照片所在的文件夹命名成纯数字或字母的并放于E盘根目录下,便于在DOS下运行命令。(如“p 2008”)
(7)、运行该文件即可。
DOS命令如下:如果你在windows XP 下:开始->运行 输入:CMD,就进入了仿真DOS状态。在这里是可以用长文件名的,不局限于8.3了。你可以试试。所以基于windows XP 下的DOS是可以用批处理完成上述要求的。
经过上面这几步就可以把照片名修改为“(学籍号+姓名).jpg”啦。
第2个回答 2012-02-24
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir/b *.jpg') do (
set /a n+=1
if !n! lss 10 set fn=0!n! else set fn=!n!
if not exist "!n!.jpg" (ren "%%a" "!fn!.jpg") else call :loop "%%a"
)
pause&exit
:loop
set /a n+=1
if exist "!n!.jpg" goto loop
ren "%~1" "!n!.jpg"
goto :eof本回答被网友采纳
第3个回答 2012-02-24
ren "%~1" "!n!.jpg"改为if "!n:~-2! lss 10 (ren "%~1" "!n:~0,-1!0!n:~-1!.jpg") else (ren "%~1" "!n!.jpg")
第4个回答 2012-02-23
直接用rename软件不就得了,可以设置不同的前后缀及字符