找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 28938|回复: 13

[文件操作] 批处理能监控剪贴板吗?当剪贴板的内容存在特定字符串则执行指定操作或程序

[复制链接]
发表于 2016-7-21 08:45:27 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-7-21 13:43 编辑

比如复制了123,剪贴板改变了,执行1.bat,1bat来判断剪贴板内容=123就把123改成321
复制了32643736930,剪贴板改变了,执行1.bat,1bat来判断剪贴板内容=11位数字,就在11位数字前面加www.xxxx.
等等
要是能实现,应用范围就很广了,用途很大
我搜不到类似的内容,找不到办法
发表于 2016-7-21 09:11:26 | 显示全部楼层
“判断剪贴板内容=123就把123改成321” 什么规律,只是判断123一个数字?
 楼主| 发表于 2016-7-21 09:14:08 | 显示全部楼层
回复 2# pcl_test


第一个例子是判断固定字符
第二个例子是判断固定位数的数字
不过问题的关键是监控剪贴板,监控不了的话,判断也没用。。

评分

参与人数 1PB -2 收起 理由
pcl_test -2 务必在顶楼一次性把问题和结果交代清楚

查看全部评分

 楼主| 发表于 2016-7-21 09:59:48 | 显示全部楼层

  1. mshta "javascript:var s=clipboardData.getData('text');if(s)new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(s);close();"|more >temp1.txt
  2. ping 127.0.0.1 -n 3
  3. mshta "javascript:var s=clipboardData.getData('text');if(s)new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(s);close();"|more >temp2.txt
  4. :对比temp1.txt和temp2.txt
  5. !@#!@¥%%……&&
  6. del temp1.txt
  7. xcopy temp2.txt temp1.txt
  8. del temp2.txt

复制代码
啊,这样感觉效率还不如直接一直不断判断剪贴板呢
发表于 2016-7-21 10:04:07 | 显示全部楼层
保存为hta文件,运行后当复制了符合条件的数据,直接粘贴即可
  1. <script>
  2. window.resizeTo(180,80);
  3. var str = '123';
  4. var prefix = 'www.xxxx.';
  5. function getclip(){
  6.     try{
  7.         var cliptxt = clipboardData.getData('text').replace(/^[ \s]*|[ \s]*$/, '');
  8.         if(cliptxt==str){
  9.         clipboardData.setData('text', '321');
  10.         } else if(/^\d{11}$/.test(cliptxt))clipboardData.setData('text', prefix + cliptxt);
  11.     }catch(e){}
  12.     setTimeout('getclip()', 500);
  13. }
  14. </script>
  15. <body style='text-align:center' onload='getclip()'>剪贴板监控中</body>
复制代码

评分

参与人数 1技术 +1 收起 理由
hentai87 + 1 乐于助人

查看全部评分

 楼主| 发表于 2016-7-21 10:11:24 | 显示全部楼层
本帖最后由 hentai87 于 2016-7-21 10:13 编辑

回复 5# pcl_test


能用bat吗,看不懂,321写在哪个语句了- -
发表于 2016-7-21 15:04:40 | 显示全部楼层
本帖最后由 tmplinshi 于 2016-7-21 15:15 编辑

去下载安装一个 AutoHotkey
  1. #NoEnv
  2. #Persistent

  3. return

  4. OnClipboardChange:
  5.         if (A_EventInfo != 1) { ; 剪贴板数据的类型不是字符则返回
  6.                 return
  7.         }

  8.         if (Clipboard = "123") {
  9.                 Clipboard := "321"
  10.         } else if RegExMatch(Clipboard, "^\d{11}$") {
  11.                 Clipboard := "www.xxxx." Clipboard
  12.         }
  13. return
复制代码

评分

参与人数 1技术 +1 收起 理由
hentai87 + 1 乐于助人

查看全部评分

发表于 2016-7-21 15:28:46 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set PSCMD=powershell -c "Add-Type -AssemblyName PresentationCore; [Windows.Clipboard]::GetText()"
  4. :CheckClip
  5. for /f "delims=" %%i in ('%PSCMD%') do (
  6.     set "strClip=%%i"
  7. )
  8. if "!strClip!" equ "123" (
  9.     echo 321
  10.     pause
  11.     goto :eof
  12. )
  13. timeout /nobreak /t 3 >nul
  14. goto :CheckClip
复制代码

评分

参与人数 1技术 +1 收起 理由
hentai87 + 1 乐于助人

查看全部评分

 楼主| 发表于 2016-7-21 15:43:52 | 显示全部楼层
回复 8# GNU


结果能直接输出到剪贴板吗,最好是一直循环,而不是一次就结束
发表于 2016-7-21 15:58:05 | 显示全部楼层
回复 6# hentai87


    5L已改
 楼主| 发表于 2016-7-21 16:42:18 | 显示全部楼层
本帖最后由 pcl_test 于 2016-7-21 17:03 编辑

回复 10# pcl_test


懂了,但是我昨天帖子那2个列子怎么改,有点不一样,有多行,经验不够多,不是几乎相似的不会举一反三
http://www.bathome.net/viewthrea ... mp;extra=#pid187992
发表于 2016-7-21 17:26:52 | 显示全部楼层
本帖最后由 pcl_test 于 2016-7-21 17:28 编辑

完善下8L的powershell代码
  1. while(1)
  2. {
  3.     $str = [Windows.Clipboard]::GetText()
  4.     if($str -eq "123")
  5.     {
  6.         [Windows.Clipboard]::SetText("321")
  7.     } else {
  8.         if($str -match "^\d{11}$"){[Windows.Clipboard]::SetText("www.xxxx."+$str)}
  9.     }
  10.     Start-Sleep -Seconds 1
  11. }
复制代码
 楼主| 发表于 2016-7-22 08:08:10 | 显示全部楼层
回复 12# pcl_test


    11楼的怎么弄- -
 楼主| 发表于 2016-7-22 08:55:23 | 显示全部楼层
回复 12# pcl_test


    这个代码写在8楼的哪个位置?-  -
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 13:14 , Processed in 0.021961 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表