[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] [已解决]如何将“选中后的文本”添加鼠标右键用bat打开?

每次运行代码都要新建bat,复制,粘贴,很麻烦,可以将网页中的批处理代码选中后,然后单击右键,出现“用bat打开”吗?{此问题已结}

[ 本帖最后由 sxw 于 2010-10-19 21:55 编辑 ]
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

是的就是这个了!谢谢!!!

TOP

RunTextAsBAT.htm
  1. <html>
  2. <head>
  3.   <meta http-equiv="content-type" content="text/html; charset=gb2312">
  4.   <title>添加到 IE 右键菜单</title>
  5.   <script type="text/javascript">
  6.     var oShell = new ActiveXObject("WScript.Shell");
  7.     var regBase = "HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\MenuExt\\";
  8.     function addReg() {
  9.       var regTitle, regValue, s1 = stext.value, s2 = salt.value;
  10.       s1 = s1 == "" ? "作为BAT运行" : s1;
  11.       s2 = s2 == "" ? "" : "(&" + s2.substring(0,1).toUpperCase() + ")";
  12.       regTitle = s1 + s2;
  13.       regValue = decodeURI(document.location.href);
  14.       try{
  15.         oShell.RegWrite(regBase + regTitle + "\\", regValue, "REG_SZ");
  16.         oShell.RegWrite(regBase + regTitle + "\\contexts", 52, "REG_DWORD");
  17.         alert("添加成功!");
  18.       } catch(e) {
  19.         alert("添加失败!");
  20.       }
  21.     }
  22.     function delReg() {
  23.       var s1 = sdel.value;
  24.       if (s1.length > 0) {
  25.         s1 = s1.replace(/^(.+)\((\w)\)$/, "$1(&$2)");
  26.         try{
  27.           oShell.RegDelete(regBase + s1 + "\\contexts");
  28.           oShell.RegDelete(regBase + s1 + "\\");
  29.           alert("删除成功!");
  30.         } catch(e) {
  31.           alert("删除失败!");
  32.         }
  33.       }
  34.     }
  35.     function goon(){
  36.       document.getElementById("tips").style.display = "none";
  37.       document.getElementById("doing").style.display = "";
  38.     }
  39.     function mainFunction(s){
  40.       var fso = new ActiveXObject("Scripting.FileSystemObject");
  41.       //var fn  = oShell.ExpandEnvironmentStrings("%temp%") + "\\" + "$htmltxt.bat"
  42.       var fn  = oShell.SpecialFolders("Desktop") + "\\" + "$htmltxt.bat"
  43.       with(fso.CreateTextFile(fn, true)){
  44.         Write(s);
  45.         Close();
  46.       }
  47.       var cmd = "cmd /c "
  48.         + "@pushd \"" + oShell.SpecialFolders("Desktop") + "\""
  49.         + "&@echo pushd \"%cd%\"&@echo ========= BAT 开始执行 ========="
  50.         + "&call \"" + fn + "\""
  51.         + "&@echo ========= BAT 执行完毕 =========&@pause>nul";
  52.       oShell.Run(cmd);
  53.     }
  54.     if(external.menuArguments) {
  55.         var pDoc = external.menuArguments.document;
  56.         var sSelected = pDoc.selection.createRange().text;
  57.         mainFunction(sSelected);
  58.     }
  59.   </script>
  60. </head>
  61. <body onload="goon()">
  62.   <div id="tips" name="tips" style="font:24px/2em Consolas;color:red;">
  63.     ☭<i> === 要想正常使用必须允许脚本和 ActiveX 控件 === </i>❂
  64.   </div>
  65.   <div id="doing" name="doing" style="display:none;text-align:center;font:18px/1.2em 华文楷体,Consolas;">
  66.     <p>
  67.       <b>将选中的文本作为BAT运行</b>
  68.       <table>
  69.         <tr><td>右键中显示名称</td><td><input type="text" id="stext" name=="stext"/></td></tr>
  70.         <tr><td>热键(限一个字母)</td><td><input type="text" id="salt" name=="salt"/></td></tr>
  71.       </table>
  72.       <input type="button" value=" 添 加 " onclick="addReg()" />
  73.     </p>
  74.     <p>&nbsp;</p>
  75.     <p>
  76.       <b>从IE右键删除一个菜单</b>
  77.       显示的名称 <input type="text" id="sdel" name="sdel"/>
  78.       <input type="button" value=" 删 除 " onclick="delReg()" />
  79.     </p>
  80.   </div>
  81. </body>
  82. </html>
复制代码
1

评分人数

    • sxw: 乐于助人技术 + 1
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

这样离目标还差一步啊,经过修改,可以直接右键保存存为bat文件了。

TOP

将网页中的文字右键保存
http://cn-dos.net/forum/viewthread.php?tid=32984
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

自已看吧,不过是站外的东西
http://wenku.baidu.com/view/e81150d8d15abe23482f4d94.html

TOP

回复 9楼 的帖子

能把所有需求都更新到顶楼吗?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

右键新建bat的有了,还是得复制,粘贴,运行;还不是很方便啊。最好一步就解决了:选中文本后直接单击右键就运行了!?

TOP

在右键-新建  的地方多了批处理
  1. reg add "HKLM\SOFTWARE\Classes\.bat\ShellNew" /v "NullFile" /t REG_SZ /d "" /f
  2. reg add "HKLM\SOFTWARE\Classes\batfile" /v "EditFlags" /t REG_BINARY /d "30040000" /f
复制代码
---学无止境---

TOP

就在“网页”里选中一段文本吧,能实现吗?

TOP

回复 7楼 的帖子

LZ的意思是随便一个代码比如用IE查看的,在记事本里的,甚至是word 里的  然后选中 出来一个“bat打开”的右键
就像IE的“迅雷下载”一样////////

TOP

回复 5楼 的帖子

太强大了 bat文件右键应用bat把它打开,
你蛋痛不?

TOP

回复 5楼 的帖子

这个右键菜单与你当前使用的文本工具有关系,仅在系统内修改注册表等等估计不行。

TOP

就是先选中一段批处理文本,再单击右键,会出现“用bat打开”这一项,可以直接运行的那种。

TOP

看他的意思是想说 用 CMD运行TXT文件;
语法分析好半天,我晕了...

TOP

返回列表