中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-14 18:59
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [转+改]方便的右键保存脚本
楼 主 [转+改]方便的右键保存脚本 发表于 2006-05-23 19:28 ·  IANA 局域网IP(Private-Use)
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
UID 42173
性别 男
状态 离线
上网时很多资料要保存,Ctrl+C,打开记事本,Ctrl+V,选路径,输入文件名,保存…………你觉得麻烦不?用以下脚本可以在InternetExplorer里加入一个菜单,遇到精彩的文章直接框选,点右键,保存,搞定!


把下面的的代码保存为E:\Script\savetext.html(因为下面要用这个路径,所以不要乱改。要改的话请保证下面的reg和你存放的savetext.htmll路径的一致)


<SCRIPT LANGUAGE = "JavaScript">

var oWindow = window.external.menuArguments; //获得执行Save Text菜单项的文档的window对象
var oDocument = oWindow.document;
var oSelect = oDocument.selection;
var oSelectRange = oSelect.createRange();
var selectText = oSelectRange.text; //获得所选择的文字.
var tFilename;

if (selectText.length == 0 || !/\S/.test(selectText)) {
alert("请先选择一段文字!");
}
else {
//去除文字前面的空字符.
selectText = selectText.replace(/^(\s+)(\S+)/,"$2");
//取得文字的第一行.
tFilename = /\n/.test(selectText) ? selectText.substring(0,selectText.search(/\n/)) : selectText;
tFilename = tFilename.length > 18 ? tFilename.substring(0,10) + "..." + tFilename.substring(tFilename.length-6,tFilename.length) : tFilename;
//去除文件名中的换行符、换页符、回车符.
tFilename = tFilename.replace(/\n|\r|\f/g,"");
var errorChar=/(\\|\/|:|\*|\?|"|\<|\>|\|)/
//如果文件名中存在非法字符,则让用户输入文件名.
while (errorChar.test(tFilename) || tFilename==null) {
tFilename=prompt("由于所选文字中包含\ / : * ? < >等不能作为文件名的字符,请重新输入要存储的文件名(不需添加扩展名).",tFilename);
}
var fso, fl, fname;
fso = new ActiveXObject("Scripting.FileSystemObject");


//这里是保存资料的位置,请根据个人情况更改。请保证路径的存在!
fname="D:\\资料\\" +tFilename+ ".txt";



if (fso.FileExists(fname)) {
if (confirm(fname + "已经存在,要替换它吗?")) {
fl = fso.CreateTextFile(fname,true);
fl.Write(selectText);
fl.Close();
alert(fname+" 保存成功!");
}
}
else {
fl = fso.CreateTextFile(fname,true);
fl.Write(selectText);
fl.Close();
oWindow.status = "保存成功!";
}
}
</SCRIPT>


资料默认存放在 D:\资料,可以根据源码提示自定义路径!


保存下列代码为savetext.reg


REGEDIT4


"contexts"=dword:000000f3
@="E:\\script\\savetext.html"


双击这个savetext.reg导入注册表(重装系统后也可以用这个恢复)

重启InternetExplorer,打开一段文字,看看右键~~是不是多了什么!

[ Last edited by electronixtar on 2006-5-24 at 12:23 ]

C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2 发表于 2006-05-23 20:49 ·  中国 广东 广州 白云区 电信
金牌会员
★★★★
D◎$ Fαп
积分 4,562
发帖 1,883
注册 2004-01-19 00:00
UID 15812
性别 男
来自 广东广州
状态 离线
精品!
----====≡≡≡≡ 我的至爱,永远是MSDOS!≡≡≡≡====----
3 发表于 2006-05-24 09:02 ·  中国 湖北 武汉 电信
中级用户
★★
积分 330
发帖 244
注册 2006-04-14 14:07
UID 53823
性别 男
来自 湖北
状态 离线
收藏了先!不错
4 发表于 2006-05-24 10:50 ·  中国 浙江 杭州 电信
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
UID 1565
性别 男
来自 河北保定
状态 离线
请问楼主:savetext.html是从哪里来的?
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
5 发表于 2006-05-24 12:33 ·  中国 四川 成都 联通
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
UID 42173
性别 男
状态 离线
已经改正!谢谢批评!

C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
6 发表于 2006-07-23 16:49 ·  中国 辽宁 大连 教育网
中级用户
★★
DOS之友
积分 332
发帖 168
注册 2005-10-06 00:00
UID 43171
性别 男
来自 天涯
状态 离线
看看效果如何
测试环境: windows xp pro sp2 高手是这样炼成的:C:\WINDOWS\Help\ntcmds.chm
7 发表于 2006-07-23 17:27 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
UID 54766
性别 男
来自 上海
状态 离线
哈哈,效果不错 谢谢...electronixtar
最好打包一下,而且“D:\资料”要手动建立
建议已下载的资料放在E:\Script目录下面
8 发表于 2006-07-23 19:01 ·  中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
UID 42173
性别 男
状态 离线
介个……自己改不就得了~~写个bat也行~~

C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
9 发表于 2006-10-18 11:22 ·  中国 江苏 苏州 电信
银牌会员
★★★
积分 1,181
发帖 533
注册 2006-08-14 12:54
UID 60484
状态 离线
不介意我偷走顺便顶一计吧。
10 发表于 2006-10-18 13:39 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线

  顶一个.....继续发些好东东啊...支持中...
11 发表于 2006-10-20 00:21 ·  中国 贵州 贵阳 电信
中级用户
★★
积分 304
发帖 117
注册 2006-04-04 18:43
UID 53325
性别 男
状态 离线
不知能不能弄个迅雷快捷下载。
下载时经常询问下载路径,感觉挺麻烦的。
12 发表于 2006-10-20 00:38 ·  中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
UID 42173
性别 男
状态 离线
楼上的能说清楚点吗?

C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
13 发表于 2006-10-20 06:28 ·  中国 贵州 贵阳 电信
中级用户
★★
积分 304
发帖 117
注册 2006-04-04 18:43
UID 53325
性别 男
状态 离线
Originally posted by electronixtar at 2006-10-20 00:38:
楼上的能说清楚点吗?

就是说,使用迅雷下载东西时,迅雷会询问你要保存的路径。我想达到的要求就是把保存的路径的对话框忽略,直接在右键添加保存路径。比如:下mp3时,直接点右键中"迅雷下载--mp3",保存路径提前预设好,就像savetext功能一样。
14 发表于 2006-10-20 06:59 ·  中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
UID 42173
性别 男
状态 离线
哦,这个……想了下,web网页没有这个权限。

C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
15 发表于 2006-10-20 08:07 ·  中国 广东 广州 电信
中级用户
★★
积分 259
发帖 112
注册 2006-09-18 04:55
UID 62928
性别 男
状态 离线
好啊.看上去方便实用!~
论坛跳转: