标题: [其他] 批处理怎样批量重命名文件(从TXT中读文件名)? [打印本页]
作者: skull 时间: 2010-10-12 20:41 标题: 批处理怎样批量重命名文件(从TXT中读文件名)?
文件重命名问题:
就是有两组图片,
1.txt里面是第一组图片的名字列表,
2.txt里面是第二组图片名字的列表,
目的就是把第二组图片根据第一组图片来重命名,对应关系是行数……
操作的就是第二组文件的名字,也就是2.txt里面的列表。
TXT文件只是图片的名字列表,不操作它们……
比如有1.txt,内容如下,
4dbba3e072a2c69717c23282e7cb1800.jpg
4183d74a3c9115e522322f4c8854a2da.jpg
b484e5d02a6581c2ec87d69ad54afaab.jpg
每行一个且无空行,
另有一个2.txt,内容与上面的大同小异,(名字不一样),但是有空行。
如何实现从2.txt读文件文件名并重命名为1.txt中对应行,
这里主要解决的是空行问题……
或者哥哥们拿别的程序或者脚本给我实现下,纠结了好几天了……
示例:
当前文件夹有N个图片,名字保存在B.TXT中。
A.txt,内容如下
第一行:111.jpg
第二行:222.jpg
第三行:333.jpg
B.txt,内容如下
第一行:555.jpg
第二行:
第三行:666.jpg
第四行:777.jpg
需要程序运行后,当前文件夹的555.jpg名字改为111.jpg,而666.jpg则改名为333.jpg。
操作的是当前目录的图片的名字……
作者: cjiabing 时间: 2010-10-12 22:25
看看其他高手帮你搞吧,他们喜欢搞文本类的东东!~
作者: qq506657335 时间: 2010-10-12 22:34
在QQ问问看到楼主的帖子。。。在这里又看到楼主的帖子。。
找个时间帮楼主写下代码。。。。
作者: 随风 时间: 2010-10-12 22:41
你的 b.txt 中的空行是纯空行,还是有可能含有空格?
作者: 随风 时间: 2010-10-12 22:48
测试显示正确,去掉代码中的 echo 即可
文件名中不能含有半角! 号
:- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%a in (a.txt) do (
- set /a n+=1
- set .!N!=%%a
- )
- for /f "tokens=* delims= " %%a in (b.txt) do (
- if not "%%a"=="" (
- set /a i+=1
- for %%b in (!i!) do echo "%%a" "!.%%b!"
- )
- )
- pause
复制代码
作者: skull 时间: 2010-10-13 10:08
%%a in (b.txt) 哥哥这里不对吧?
而且这个是改当前目录的JPG图片的名字的……
作者: Batcher 时间: 2010-10-13 12:54 标题: 回复 6楼 的帖子
为什么那里不对啊?
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |