中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-02 01:25
48,037 主题排行 / 350,122 发帖 / 今日 2 篇 / 48,250 会员排行
DOS批处理 & 脚本技术(批处理室) » 有什么办法使变量获得剪贴板的内容?
可打印版本  1,273 / 3
第1楼 tmt2006 发表于 2006-05-31 16:38
初级用户 发帖 49 积分 135
有什么办法使变量获得剪贴板的内容?
在XP下,有什么办法使变量获得剪贴板的内容(如%TM%的内容为剪贴板的内容)?

仅限文本。
第2楼 electronixtar 发表于 2006-05-31 18:31
铂金会员 发帖 2,672 积分 7,493
可以用script+DOM实现,具体方法为:
echo wscript.echo CreateObject("InternetExplorer.Application").clipboardData.getData "text" >temp$$$.vbs
cscript temp$$$.vbs
del /f /q temp$$$/vbs

由于我的cscript说class unregistered,所以没测试,可能有bug,但思路就是这样子的。仅供参考。
第3楼 3742668 发表于 2006-05-31 20:45
荣誉版主 发帖 718 积分 2,013
Well,在electronixtar的脚本中,可能存在一点小错:创建了internetexplorer对象后,并没有打开一个实例(允许我用这个我认为最贴切的词),所以就无法调用internetexplorer对象的document.parentwindow.clipboardData子对象的getdata方法,所以可能导致无法正确获得剪贴板内容。
在electronixtar提供的方法中,首先用bat写代码到一vbs脚本,然后在vbs脚本中又调用了IE对象,可谓是山路十八弯,因此,建议楼主尝试用vbs脚本来解决所想解决的问题。关于在vbs中获得剪贴板内容的方法:

如果搂主确需用bat来实现的话,可以在用echo把以上代码写到临时文件后,在批处理中用for+cscript //NOLOGO来获得内容到变量中,另外就是建议在vbs中用WScript.StdOut.Write来输出内容。
第4楼 electronixtar 发表于 2006-09-07 01:57
铂金会员 发帖 2,672 积分 7,493
由于InternetExplorer.Application要影响 Maxthon 等截获IE调用的浏览器,所以一直觉得不爽,最近发现了一个新的COM能方便调用剪贴板:


还是要输出临时文件,效率奇低。什么时候找一个能StdOut的COM就爽了

[ Last edited by electronixtar on 2006-9-7 at 02:01 ]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023