中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [完结]许个愿,批处理txt内容重命名文件
作者:
标题: [完结]许个愿,批处理txt内容重命名文件 上一主题 | 下一主题
liu3157551
中级用户





积分 259
发帖 164
注册 2006-9-21
状态 离线
『楼 主』:  [完结]许个愿,批处理txt内容重命名文件

格式
qvod://大小|希哈值|文件名|
格式列表:
qvod://242008884|FE0D4620372CD6E75EE77B9E796811452E690BC9|yingye01.rm|
qvod://374779060|D53EE658EFA0CB0C74267A969B37B2DD199A4C3F|yingye02.rm|
.....................
qvod://371527589|1AEB394CC079106AE7AC53DED77F45761044662B|yinye16.rm|

自动从文本文件中格式提取到那个应用程序的名字中:
文件名_希哈值.exe
就可以了

[ Last edited by liu3157551 on 2010-4-15 at 21:08 ]

附件 1: 文本.rar (2010-4-15 17:53, 684 bytes,下载次数: 10)
附件 2: 1.exe.rar (2010-4-15 19:42, 120.05 K,下载次数: 5)
2010-4-15 17:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
liu3157551
中级用户





积分 259
发帖 164
注册 2006-9-21
状态 离线
『第 2 楼』:  

注意可能文件名中可能包含UTF-8字符(空格或者是日文等)。

[ Last edited by liu3157551 on 2010-4-15 at 17:57 ]

2010-4-15 17:54
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 3 楼』:  

你没具体说清楚具体步骤,我看得一头雾水



批处理之家 http://bbs.bathome.net/forum-5-1.html
2010-4-15 19:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
liu3157551
中级用户





积分 259
发帖 164
注册 2006-9-21
状态 离线
『第 4 楼』:  

好吧,我想我说得的确不清楚。
下载文本.rar
打开后你会得到一个123.txt文件
文件中的地址格式如下
qvod://****|*******|****|
代表的意思是:
协议:qvod://文件的大小|文件的hash值|文件的名称|
这和电驴差不多。

提取hash值和文件名称   放到1.exe应用程序的名字上(重命名应用程序,不改变.exe后缀名):
应用程序的格式如下:文件的名称_文件的hash.exe
yingye01.rm_FE0D4620372CD6E75EE77B9E796811452E690BC9.exe
这样就完成了第一个。文本第二行相同
yingye02.rm_D53EE658EFA0CB0C74267A969B37B2DD199A4C3F.exe
生成的应用程序文件是一样的但文件名不一样罢了。

[ Last edited by liu3157551 on 2010-4-15 at 19:50 ]

2010-4-15 19:39
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 5 楼』:  

从123.txt中解析得到"文件的名称_文件的hash.exe"这个字符串,然后怎么放到应用程序上?
1,输出这些名称?
2,以这些名称创建空的exe?
3,对某一个样本exe文件copy,以产生大量的"文件的名称_文件的hash.exe"?
4,对某一目录下的大量exe重命名?
5,修改对应exe同名的exe文件的信息?



批处理之家 http://bbs.bathome.net/forum-5-1.html
2010-4-15 20:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
liu3157551
中级用户





积分 259
发帖 164
注册 2006-9-21
状态 离线
『第 6 楼』:  

1.exe是个模板
上面有几个qvod地址就有几个1.exe
然后改名成N个qvod的hash和文件名
文件名_hash.exe

2010-4-15 20:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 7 楼』:  

这样吗?
@echo off
(chcp 437
for /F "tokens=2,3 delims=|" %%i in (123.txt) do copy 1.exe %%j_%%i.exe)>nul




批处理之家 http://bbs.bathome.net/forum-5-1.html
2010-4-15 20:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
liu3157551
中级用户





积分 259
发帖 164
注册 2006-9-21
状态 离线
『第 8 楼』:  

经测试生成的文件有缺少现象
估计是编码问题吧

[ Last edited by liu3157551 on 2010-4-15 at 21:05 ]

2010-4-15 21:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
liu3157551
中级用户





积分 259
发帖 164
注册 2006-9-21
状态 离线
『第 9 楼』:  

找到问题了,加个双引号解决问题了。^_^
非常感谢你了。
@echo off
(chcp 437
for /F "tokens=2,3 delims=|" %%i in (123.txt) do copy 1.exe "%%j_%%i.exe")>nul
以下为vbs
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("123.txt", 1)
Do Until f.AtEndOfStream
        oneLine = f.ReadLine()
        temp = Split(oneLine, "|")
        If UBound(temp) > 1 Then
                fso.CopyFile "1.exe", temp(2) & "_" & temp(1) & ".exe"
        End If
Loop
==============================完结===========================================

[ Last edited by liu3157551 on 2010-4-15 at 21:10 ]

2010-4-15 21:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: