本帖最后由 pcl_test 于 2017-5-1 01:43 编辑
网页里面有很多ed2k结构是这样的,直接保存下来了:- <a href="ed2k://|file|Donkey%20Kong%2064%20(U)%20(Kiosk%20Demo)%20[b2].z64|25165824|3CF27324022C858374E0E9A7ADADF996|h=ZQBPPEFMIO5SJ6PMJWAJVDCWB4QUFP4J|/">Donkey Kong 64 (U) (Kiosk Demo) [b2]</a><br />
复制代码 这样的连接不能在网页上复制下来,而这样的就能直接复制下来了保存为txt了,下面的纯数字25165824就是容量大小- ed2k://|file|Donkey Kong 64 (U) (Kiosk Demo) [b2].z64|25165824|3CF27324022C858374E0E9A7ADADF996|/
复制代码 我需要的是把网页上面的ed2k长连接提取出来变成ed2k短连接,提取保存为txt文件后进行替换,并且为ed2k的文件名前面添加[容量],小数点后面保留1位,最终效果:- ed2k://|file|[25.1MB]Donkey Kong 64 (U) (Kiosk Demo) [b2].z64|25165824|3CF27324022C858374E0E9A7ADADF996|/
复制代码 这个是我在论坛搜索的相关,只能把这个连接添加个容量,但是怎么把网页里面的先提取出来再进行替换呢?- //&cls&dir /b *.txt|cscript -nologo -e:jscript "%~f0"&pause&exit
-
- function reStr(file){
- var f = fso.opentextfile(file, 1);
- str = f.ReadAll()
- .replace(/(ed2k:\/\/\|file\|)((?!\[\d+\.\dKB\]).+\|)([0-9]{1,3})([0-9])([0-9]{2}\|[a-z0-9A-Z]{32}\|\/)/g, '$1[$3.$4KB]$2$3$4$5')
- .replace(/(ed2k:\/\/\|file\|)((?!\[\d+\.\dMB\]).+\|)([0-9]{1,3})([0-9])([0-9]{5}\|[a-z0-9A-Z]{32}\|\/)/g, '$1[$3.$4MB]$2$3$4$5')
- .replace(/(ed2k:\/\/\|file\|)((?!\[\d+\.\dGB\]).+\|)([0-9]{1,3})([0-9])([0-9]{7}\|[a-z0-9A-Z]{32}\|\/)/g, '$1[$3.$4GB]$2$3$4$5');
- f.Close();
- var f = fso.opentextfile(file, 2);
- f.Write(str);
- }
- var fso = new ActiveXObject('Scripting.FileSystemObject');
- while(!WScript.StdIn.AtEndOfStream)reStr(WScript.StdIn.ReadLine());
复制代码 我需要的是先把网页里面的ed2k提取出来保存,然后再替换,一个bat一步到位,这个只能替换txt,而网页一般是html和htm的 |