中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-11 18:52
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]截取特定内容然后替换 查看 2,234 回复 26
16 发表于 2009-04-19 02:23 ·  中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
有楼上这位英雄代码就够了

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
17 发表于 2009-04-19 02:31 ·  中国 湖北 黄石 电信
中级用户
★★
积分 330
发帖 244
注册 2006-04-14 14:07
20年会员
UID 53823
性别 男
来自 湖北
状态 离线
英雄可不敢当,我只是对JS正则表达式有所了解而已~~
18 发表于 2009-04-19 03:30 ·  中国 辽宁 沈阳 联通
中级用户
★★
积分 234
发帖 119
注册 2007-04-22 11:09
19年会员
UID 86077
性别 男
状态 离线
$js$.js(13, 121) Microsoft JScript 编译错误: 未结束的字符串常量,程序运行不了

还有能不能不生成新的文件,直接把原文件改掉就可以了

麻烦freeants001了
19 发表于 2009-04-19 03:40 ·  中国 湖北 黄石 电信
中级用户
★★
积分 330
发帖 244
注册 2006-04-14 14:07
20年会员
UID 53823
性别 男
来自 湖北
状态 离线
这样就可以了直接覆盖,别忘了备份
@echo off
more +4 "%~f0">$js$.js
cscript /nologo $js$.js "%~f1"
goto:eof
file_sour=WScript.arguments(0);
//file_dest=file_sour+"_处理后.htm";
s1=
'\r\n<!-- JavaScript专用链代码 -->\r\n'+
'<script src="http://pstatic.xunlei.com/js/webThunderDetect.js"></script>\r\n'+
'<script src="http://pstatic.xunlei.com/js/base64.js"></script>\r\n'+
'<script language="javascript">\r\n'+
' var thunder_url = \"' ;
s2=
'\";\r\n'+
' var thunder_pid = "12839";\r\n'+
' var restitle = "";\r\n'+
' document.write(\'<a href="#" thunderHref="\' + ThunderEncode(thunder_url) + \'" thunderPid="\' + thunder_pid + \'"

thunderResTitle="\' + restitle + \'" onClick="return OnDownloadClick_Simple(this,2,4)" oncontextmenu="ThunderNetwork_SetHref

(this)">';
s3=
'</a> \');\r\n'+
'</script>\r\n';
fso=WScript.createobject("scripting.filesystemobject");
sss=fso.opentextfile(file_sour,1,0,-2).readall();
//fl=fso.createtextfile(file_dest,1,-1);
re=/((?:http|https|ftp|mms|rtsp):\/\/(?:&(?=amp;)|){1,250}\/(+?\.(?:exe|rar|zip)))/gi;
ostr=sss.replace(re,s1+"$1"+s2+"$2"+s3);
try{
fl=fso.createtextfile(file_sour,1,0)
fl.write(ostr);
}catch(err){
fl.close();
// WScript.echo("now unicode");
fso.createtextfile(file_sour,1,-1).write(ostr);
}
20 发表于 2009-04-19 04:00 ·  中国 辽宁 沈阳 联通
中级用户
★★
积分 234
发帖 119
注册 2007-04-22 11:09
19年会员
UID 86077
性别 男
状态 离线
还是显示 $js$.js(13, 121) Microsoft JScript 编译错误: 未结束的字符串常量
修改不了
21 发表于 2009-04-19 04:15 ·  中国 湖北 黄石 电信
中级用户
★★
积分 330
发帖 244
注册 2006-04-14 14:07
20年会员
UID 53823
性别 男
来自 湖北
状态 离线
@echo off
more +4 "%~f0">$js$.js
cscript /nologo $js$.js "%~f1"
goto:eof
file_sour=WScript.arguments(0);
s1=
'\r\n<!-- JavaScript专用链代码 -->\r\n'+
'<script src="http://pstatic.xunlei.com/js/webThunderDetect.js"></script>\r\n'+
'<script src="http://pstatic.xunlei.com/js/base64.js"></script>\r\n'+
'<script language="javascript">\r\n'+
' var thunder_url = \"' ;
s2=
'\";\r\n'+
' var thunder_pid = "12839";\r\n'+
' var restitle = "";\r\n'+
' document.write(\'<a href="#" thunderHref="\' + ThunderEncode(thunder_url) + \'" thunderPid="\' + thunder_pid + \'" thunderResTitle="\' + restitle + \'" onClick="return OnDownloadClick_Simple(this,2,4)" oncontextmenu="ThunderNetwork_SetHref(this)">';
s3=
'</a> \');\r\n'+
'</script>\r\n';
fso=WScript.createobject("scripting.filesystemobject");
sss=fso.opentextfile(file_sour,1,0,-2).readall();
re=/((?:http|https|ftp|mms|rtsp):\/\/(?:&(?=amp;)|){1,250}\/(+?\.(?:exe|rar|zip)))/gi;
ostr=sss.replace(re,s1+"$1"+s2+"$2"+s3);
try{
fl=fso.createtextfile(file_sour,1,0)
fl.write(ostr);
}catch(err){
fl.close();
WScript.echo("now unicode");
fso.createtextfile(file_sour,1,-1).write(ostr);
}
22 发表于 2009-04-19 05:05 ·  中国 辽宁 沈阳 联通
中级用户
★★
积分 234
发帖 119
注册 2007-04-22 11:09
19年会员
UID 86077
性别 男
状态 离线
还是不太好用,输入 js.bat *.html处理一批文件的时候,只能处理一个文件,其他全部没有变化,感觉FR代码写的简单些,大哥们能不能改进一下那个使用FR的批处理,使他像 freeants001写的那行代码
re=/((?:http|https|ftp|mms|rtsp):\/\/(?:&(?=amp;)|){1,250}\/(+?\.(?:exe|rar|zip|rmvb)))/gi;


使前缀和后缀可以排列组合处理各类下载地址,前缀后缀可以自己加,比如以下多了视频文件AVI,RMVB,或者其他可以自己加进去,然后再使那个FR的自动以文件名命名下载地址的名称,辛苦 freeants001,yishanju啦
23 发表于 2009-04-19 05:12 ·  中国 湖北 黄石 电信
中级用户
★★
积分 330
发帖 244
注册 2006-04-14 14:07
20年会员
UID 53823
性别 男
来自 湖北
状态 离线
for /r . %%i in (*.html) do js.bat %%i
24 发表于 2009-04-19 05:34 ·  中国 辽宁 沈阳 联通
中级用户
★★
积分 234
发帖 119
注册 2007-04-22 11:09
19年会员
UID 86077
性别 男
状态 离线
还是不能批量处理,只能处理一个
而且对这样一类下载地址处理不了
ftp://teach:teach1@teach.enet.com.cn:21/教程./.DREAMWEAVER..rmvb


我已经在批处理内加入了rmvb的类型
25 发表于 2009-04-19 05:39 ·  中国 湖北 黄石 电信
中级用户
★★
积分 330
发帖 244
注册 2006-04-14 14:07
20年会员
UID 53823
性别 男
来自 湖北
状态 离线
Originally posted by w1314ich at 2009-4-18 02:18:
文件的类型只有exe,rar,zip这三种

~~~~~
26 发表于 2009-04-19 05:44 ·  中国 辽宁 沈阳 联通
中级用户
★★
积分 234
发帖 119
注册 2007-04-22 11:09
19年会员
UID 86077
性别 男
状态 离线
呵呵 我想以后可能会加其他类型,能不能在帮着改下,现在还是不能批量处理
27 发表于 2009-04-19 06:42 ·  中国 湖北 黄石 电信
中级用户
★★
积分 330
发帖 244
注册 2006-04-14 14:07
20年会员
UID 53823
性别 男
来自 湖北
状态 离线
复制保存为批文件,在你要处理的目录中运行

@echo off
more +6 "%~f0">$js$.js
for /f "delims=" %%i in ('dir/a/b *.htm?') do (
@echo 转换:"%%~nxi"
@cscript //nologo $js$.js "%%~fi")
del $js$.js&pause&goto:eof
file_sour=WScript.arguments(0);
s1=
'\r\n<!-- JavaScript专用链代码 -->\r\n'+
'<script src="http://pstatic.xunlei.com/js/webThunderDetect.js"></script>\r\n'+
'<script src="http://pstatic.xunlei.com/js/base64.js"></script>\r\n'+
'<script language="javascript">\r\n'+
' var thunder_url = \"' ;
s2=
'\";\r\n'+
' var thunder_pid = "12839";\r\n'+
' var restitle = "";\r\n'+
' document.write(\'<a href="#" thunderHref="\' + ThunderEncode(thunder_url) + \'" thunderPid="\' + thunder_pid + \'" thunderResTitle="\' + restitle + \'" onClick="return OnDownloadClick_Simple(this,2,4)" oncontextmenu="ThunderNetwork_SetHref(this)">';
s3=
'</a> \');\r\n'+
'</script>\r\n';
fso=WScript.createobject("scripting.filesystemobject");
sss=fso.opentextfile(file_sour,1,0,-2).readall();
re=/((?:http|https|ftp|mms|rtsp):\/\/(?:&(?=amp;)|){1,250}\/(+?\.(?:exe|rar|zip|rmvb|rm)))/gi;
ostr=sss.replace(re,s1+"$1"+s2+"$2"+s3);
try{
fl=fso.createtextfile(file_sour,1,0)
fl.write(ostr);
}catch(err){
fl.close();
fso.createtextfile(file_sour,1,-1).write(ostr);
}


[ Last edited by freeants001 on 2009-4-19 at 06:48 ]
论坛跳转: