标题: [完结]许个愿,批处理txt内容重命名文件
[打印本页]
作者: liu3157551
时间: 2010-4-15 17:53
标题: [完结]许个愿,批处理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)
作者: liu3157551
时间: 2010-4-15 17:54
注意可能文件名中可能包含UTF-8字符(空格或者是日文等)。
[
Last edited by liu3157551 on 2010-4-15 at 17:57 ]
作者: Hanyeguxing
时间: 2010-4-15 19:30
你没具体说清楚具体步骤,我看得一头雾水
作者: liu3157551
时间: 2010-4-15 19:39
好吧,我想我说得的确不清楚。
下载文本.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 ]
作者: Hanyeguxing
时间: 2010-4-15 20:00
从123.txt中解析得到"文件的名称_文件的hash.exe"这个字符串,然后怎么放到应用程序上?
1,输出这些名称?
2,以这些名称创建空的exe?
3,对某一个样本exe文件copy,以产生大量的"文件的名称_文件的hash.exe"?
4,对某一目录下的大量exe重命名?
5,修改对应exe同名的exe文件的信息?
作者: liu3157551
时间: 2010-4-15 20:16
1.exe是个模板
上面有几个qvod地址就有几个1.exe
然后改名成N个qvod的hash和文件名
文件名_hash.exe
作者: Hanyeguxing
时间: 2010-4-15 20:24
这样吗?
@echo off
(chcp 437
for /F "tokens=2,3 delims=|" %%i in (123.txt) do copy 1.exe %%j_%%i.exe)>nul
作者: liu3157551
时间: 2010-4-15 21:03
经测试生成的文件有缺少现象
估计是编码问题吧
[
Last edited by liu3157551 on 2010-4-15 at 21:05 ]
作者: liu3157551
时间: 2010-4-15 21:07
找到问题了,加个双引号解决问题了。^_^
非常感谢你了。
@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 ]