Board logo

标题: [文本处理] 读取剪贴板内容生成二维码 [打印本页]

作者: yuboabc    时间: 2017-9-1 23:33     标题: 读取剪贴板内容生成二维码

脚本使用的是百度的API,方便电脑与手机 pad等设备传递一些文字、连接信息。

感谢老刘的指导。。。
本人也是个渣,看代码就知道了。。。不过这个脚本用着还行。。。送给有需要的!
  1. @echo off
  2. if exist %tmp%\indexqr.html del /f/q %tmp%\indexqr.html >nul 2>nul
  3. >%tmp%\qr_getdata.vbs echo Call GetTextData
  4. >>%tmp%\qr_getdata.vbs echo function GetTextData
  5. >>%tmp%\qr_getdata.vbs echo Set objHTML=CreateObject("htmlfile")
  6. >>%tmp%\qr_getdata.vbs echo ClipboardText=objHTML.ParentWindow.ClipboardData.GetData("text")
  7. >>%tmp%\qr_getdata.vbs echo If VarType(ClipboardText)^<^>8 Or ClipboardText=Empty Then MsgBox "请复制一些内容再运行本程序^!",vbOKOnly + vbExclamation,"警告":exit function End If
  8. >>%tmp%\qr_getdata.vbs echo Set fso=wscript.createobject("scripting.filesystemobject")
  9. >>%tmp%\qr_getdata.vbs echo Set file=fso.opentextfile("%tmp%\qr_data.txt",2,true)
  10. >>%tmp%\qr_getdata.vbs echo file.writeline ClipboardText
  11. >>%tmp%\qr_getdata.vbs echo end function:Wscript.Quit
  12. call %tmp%\qr_getdata.vbs
  13. if not exist %tmp%\qr_data.txt goto :eof
  14. >%tmp%\qr_UrlEncode.js echo var str=encodeURIComponent(WScript.Arguments(0));
  15. >>%tmp%\qr_UrlEncode.js echo WScript.echo(str);
  16. (for /f "usebackq delims=" %%i in ("%tmp%\qr_data.txt") do cscript -nologo %tmp%\qr_UrlEncode.js "%%i")>%tmp%\qr_urlcode.txt
  17. for /f %%i in (%tmp%\qr_urlcode.txt) do set n=%%i&call set m=%%m%%%%n%%%%%%0A
  18. >%tmp%\indexqr.html echo ^<html^>
  19. >>%tmp%\indexqr.html echo ^<head^>
  20. >>%tmp%\indexqr.html echo ^<title^>二维码生成^</title^>
  21. >>%tmp%\indexqr.html echo ^<script language=javascript^>function hero(){var herowidth=400;var heroheight=450;window.resizeTo(herowidth,heroheight)}hero();^</script^>
  22. >>%tmp%\indexqr.html echo ^<script language=javascript^>^</script^>
  23. >>%tmp%\indexqr.html echo ^<style type="text/css"^>body{overflow-x:hidden;overflow-y:hidden;text-align:center;}^</style^>
  24. >>%tmp%\indexqr.html echo ^</head^>
  25. >>%tmp%\indexqr.html echo ^<body style="background:#C7C7C7" onresize=hero(); onkeypress=window.close() ^>
  26. >>%tmp%\indexqr.html echo ^<p style="text-align:center"^>^<img border="1" width="350" height="350" alt="按任意键关闭窗口" src="http://pan.baidu.com/share/qrcode?w=350&h=350&url=%m%"^>^</p^>
  27. >>%tmp%\indexqr.html echo ^<p style="text-align:center"^>^<b^>By.DcrClub^</b^>^</p^>
  28. >>%tmp%\indexqr.html echo ^</body^>
  29. >>%tmp%\indexqr.html echo ^</html^>
  30. start mshta "%tmp%\indexqr.html"
  31. del /f/q %tmp%\qr_* >nul 2>nul
  32. goto :eof
复制代码
是不是有点low。。。。这脚本写的!~~~

打包了一个exe文件。

链接: https://pan.baidu.com/s/19r6YRIChKNkgRuZc6nCTTg 提取码: nmnv
作者: 0000    时间: 2017-9-2 10:36

本帖最后由 0000 于 2017-9-3 12:47 编辑

觉得非常实用!
这代码风格......
  1. @echo off
  2. >%tmp%\qr_getdata.vbs (
  3.   echo Set objHTML=CreateObject("htmlfile"^)
  4.   echo ClipboardText=objHTML.ParentWindow.ClipboardData.GetData("text"^)
  5.   echo If VarType(ClipboardText^)^<^>8 Or ClipboardText=Empty Then
  6.   echo   MsgBox "请复制一些内容再运行本程序!",vbOKOnly + vbExclamation,"警告"
  7.   echo   WScript.Quit
  8.   echo End If
  9.   echo Set fso=WScript.CreateObject("scripting.filesystemobject"^)
  10.   echo Set file=fso.OpenTextFile("%tmp%\qr_data.txt",2,true^)
  11.   echo file.WriteLine ClipboardText
  12.   echo WScript.Quit
  13. )
  14. call %tmp%\qr_getdata.vbs
  15. if not exist %tmp%\qr_data.txt goto :eof
  16. >%tmp%\qr_UrlEncode.js (
  17.   echo var str=encodeURIComponent(WScript.Arguments(0^)^);
  18.   echo WScript.echo(str^);
  19. )
  20. >%tmp%\qr_urlcode.txt (
  21.   for /f "usebackq delims=" %%i in ("%tmp%\qr_data.txt") do (
  22.     cscript -nologo %tmp%\qr_UrlEncode.js "%%i"
  23. ) )
  24. for /f %%i in (%tmp%\qr_urlcode.txt) do (
  25.   set n=%%i
  26.   call set m=%%m%%%%n%%%%%%0A
  27. )
  28. >%tmp%\indexqr.html (
  29.   echo ^<html^>
  30.   echo   ^<head^>
  31.   echo     ^<title^>二维码生成^</title^>
  32.   echo     ^<script language=javascript^>
  33.   echo function hero(^){
  34.   echo   var herowidth=400;
  35.   echo   var heroheight=450;
  36.   echo   window.resizeTo(herowidth,heroheight^)
  37.   echo }
  38.   echo hero(^);
  39.   echo     ^</script^>
  40.   echo     ^<script language=javascript^>^</script^>
  41.   echo     ^<style type="text/css"^>
  42.   echo body{
  43.   echo   overflow-x:hidden;
  44.   echo   overflow-y:hidden;
  45.   echo   text-align:center;
  46.   echo }
  47.   echo     ^</style^>
  48.   echo   ^</head^>
  49.   echo   ^<body style="background:#C7C7C7" onresize=hero(^); onkeypress=window.close(^) ^>
  50.   echo     ^<p style="text-align:center"^>
  51.   echo       ^<img
  52.   echo         border="1"
  53.   echo         width="350"
  54.   echo         height="350"
  55.   echo         alt="按任意键关闭窗口"
  56.   echo         src="http://pan.baidu.com/share/qrcode?w=350&h=350&url=%m%"
  57.   echo       ^>
  58.   echo     ^</p^>
  59.   echo     ^<p style="text-align:center"^>
  60.   echo       ^<b^>By.DcrClub^</b^>
  61.   echo     ^</p^>
  62.   echo   ^</body^>
  63.   echo ^</html^>
  64. )
  65. start mshta "%tmp%\indexqr.html"
  66. del /f/q %tmp%\qr_* >nul 2>nul
  67. goto :eof
复制代码

作者: 563406396    时间: 2017-9-2 20:26

点赞,很好用
作者: fonyin    时间: 2022-9-29 22:52

回复 1# yuboabc


    ^<title^>二维码生成^</title^>

这里如何增加一个序号id呢                  ^<title^>二维码生成id^</title^>




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2