Board logo

标题: [文件操作] 批处理如何把文件名改成“身份证号码 文件名”? [打印本页]

作者: boyuboyu    时间: 2010-10-20 20:43     标题: 批处理如何把文件名改成“身份证号码 文件名”?

我在“E:\09-28处理”目录下有很多名字命名的相片,如“黄真艳.jpg……等等”,在“E:\1.txt”里面有这些人的名字和身份证号码,每个人的名字和身份证号码都各占一行(见附件)。
如何批量把“E:\09-28处理”目录下的人名命名的相片改名为“身份证号码+名字

1.txt  部分内容如下
411524198706236050+黄真艳
41302719700119606X+李建明
413027196311136041+张芳玉
413027196110266034+余尚文
413027196201196019+张家政
413027196101066014+花少登
413027197502286100+余良琼
413027198210256027+张华
413027197504016016+杨前政
413027197711246025+何毓梅
411524198510296035+张磊



作者: yangfengoo    时间: 2010-10-20 21:09

没看见附件在哪
作者: boyuboyu    时间: 2010-10-20 21:10

你刷新下,可以看见的。
作者: yangfengoo    时间: 2010-10-20 21:18

最好好 1.txt 的一部分 再把对应的照片 打包传上来
作者: boyuboyu    时间: 2010-10-20 21:26

人太多,打包了也很不小啊!
作者: wc726842270    时间: 2010-10-20 21:30

先试试吧,做实验的例子不多
  1. @echo off
  2. for /f "tokens=1-2 delims=+" %%i in (E:\1.txt) do (ren E:\09-28处理\%%i.JPG %%j+%%i.JPG)
  3. pause
复制代码

作者: boyuboyu    时间: 2010-10-20 21:48

6楼的兄弟,先谢谢你。
我试了,不行啊,说是找不到指定的文件。
作者: yangfengoo    时间: 2010-10-20 22:20

原帖由 boyuboyu 于 2010-10-20 21:26 发表
人太多,打包了也很不小啊!


我说的一部分  1.txt 有十几二十行 对应的图片几张就行了。也没叫你全部吧

没有实例代码在怎么写 你说的也不是很清楚
作者: boyuboyu    时间: 2010-10-20 22:29

8楼的兄弟,你QQ多少?我怎么不能传rar格式的附件
只好用笨方法,把这些人的相片传几张



作者: 随风    时间: 2010-10-20 22:48

论坛空间有限,请尽量不要使用附件。
先删除你9楼无用的附件,并请楼主自行将顶楼附件用文字形式表示出来。
作者: boyuboyu    时间: 2010-10-20 22:51

原帖由 随风 于 2010-10-20 22:48 发表
论坛空间有限,请尽量不要使用附件。
先删除你9楼无用的附件,并请楼主自行将顶楼附件用文字形式表示出来。

不好意思,我明天早上删除可以不?
作者: 随风    时间: 2010-10-20 23:02

还是我帮你删吧,顶楼完全没必要使用附件的呀,把1.txt的内容复制几行不就可以了么?
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=1,2 delims=+" %%a in (e:\1.txt) do set "%%b=%%a"
  3. cd/d e:\09-28处理
  4. for /f "delims=" %%i in ('dir/b *.jpg') do ren "%%i" "!%%~ni!+%%~ni.jpg"
  5. pause
复制代码

作者: Batcher    时间: 2010-10-20 23:03     标题: 回复 6楼 的帖子

你把第一列和第二列的顺序搞反了吧?
作者: 随风    时间: 2010-10-20 23:05

没注意看,6楼代码很简洁,我12楼的居然绕了这么大个圈。。。。
作者: boyuboyu    时间: 2010-10-20 23:34

6楼的提示找不到指定的文件
12的可以,谢谢!

[ 本帖最后由 boyuboyu 于 2010-10-20 23:38 编辑 ]
作者: 随风    时间: 2010-10-20 23:52

你没看13楼的回复吗?
  1. @echo off
  2. for /f "tokens=1-2 delims=+" %%i in (E:\1.txt) do ren "E:\09-28处理\%%j.JPG" "%%i+%%j.JPG"
  3. pause
复制代码

作者: hucuibai    时间: 2010-10-21 10:28

  1. @echo off
  2. set dir=E:\09-28处理
  3. for /f "delims=+ tokens=1,2" %%i in (1.txt) do (ren %dir%\%%j.jpg %%i+%%j.jpg)
  4. pause
复制代码


借用六楼的 试过了 可以改!

[ 本帖最后由 hucuibai 于 2010-10-21 16:15 编辑 ]




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2