Board logo

标题: [其他] 批处理如何实现循环间歇性截屏并发送到指定邮箱 [打印本页]

作者: lmcosper    时间: 2015-4-7 22:03     标题: 批处理如何实现循环间歇性截屏并发送到指定邮箱

本帖最后由 pcl_test 于 2016-8-2 12:55 编辑

各位大师小弟初来贵地
  请教
bat批处理,如何定时(每5分钟)截图并发到邮箱(QQ邮箱) 谢谢!
作者: pcl_test    时间: 2015-4-7 22:15

第三方工具
PrtSc结合blat 或sendemail 或vbs
作者: DAIC    时间: 2015-4-7 22:15

http://bbs.bathome.net/thread-4131-1-1.html
这里有几个截图的方案,你先看看哪个适合。
作者: 522235677    时间: 2015-4-8 16:34

  1. @echo off & setlocal enabledelayedexpansion
  2. goto runbat
  3. Const NameSpace = "http://schemas.microsoft.com/cdo/configuration/"
  4. Set Email = CreateObject("CDO.Message")
  5. Set objArgs = WScript.Arguments
  6. Email.From = objArgs(1) & "@126.com"
  7. Email.To = objArgs(0) & "@qq.com"
  8. Email.Subject = objArgs(3)
  9. 'x = objArgs(5)
  10. 'Set fso = CreateObject("Scripting.FileSystemObject")
  11. 'Set myfile = fso.OpenTextFile(x,1,Ture)
  12. 'c = myfile.readall
  13. 'myfile.Close
  14. 'Email.HTMLbody = Replace(c, vbCrLf ,"<br>")
  15. Email.Textbody = wscript.arguments(4)
  16. Email.AddAttachment objArgs(6)
  17. With Email.Configuration.Fields
  18.     .Item(NameSpace & "sendusing") = 2
  19.     .Item(NameSpace & "smtpserver") = "smtp.126.com"
  20.     .Item(NameSpace & "smtpserverport") = 25
  21.     .Item(NameSpace & "smtpauthenticate") = 1
  22.     .Item(NameSpace & "sendusername") = objArgs(1)
  23.     .Item(NameSpace & "sendpassword") = objArgs(2)
  24.     .Update
  25. End With
  26. Email.Send
  27. Wscript.Quit (99)
  28. ::////////////////////////////////////////////////////////////////
  29. :runbat
  30. del /q "%temp%\screenshot_.jpg" 2>nul
  31. call :uu 2 25 "%temp%\mail.vbs"
  32. :loop
  33. set t=60000
  34. if not exist "%temp%\screenshot_.jpg" (set t=1)
  35. nircmd cmdwait %t% savescreenshot "%temp%\screenshot_.jpg"
  36. wscript "%temp%\mail.vbs" 接收邮件的账号 发送邮件的账号 密码 "%computername%" "%date% %time%" "%temp%\info_.txt" "%temp%\screenshot_.jpg"
  37. goto loop
  38. exit
  39. :uu
  40. set hs=0
  41. if exist "%3" del /q "%3"
  42. for /f "delims=" %%a in ('more +%1 "%~s0"') do (
  43. set /a hs+=1
  44. echo %%a >>"%3"
  45. if "!hs!"=="%2" goto :eof)
  46. ::end
复制代码
正好我也用到,我也就写了。需要nircmd,楼上的链接里有下载。
这个默认的是打开就会自动截全屏并发送到指定邮箱,然后每1分钟再次截屏并发送。我上面那个发送邮箱是126的,你可以改别的。vbs代码加了注释的,是发送文本内容作为邮件内容发送的。
作者: lmcosper    时间: 2015-4-20 19:57

回复 4# 522235677

太谢谢大哥了!
作者: lmcosper    时间: 2015-4-20 21:40

暂时没有完全解决 还有些问题
作者: lmcosper    时间: 2015-4-20 21:57

本帖最后由 pcl_test 于 2016-8-2 12:52 编辑

Email.From = objArgs(1) & "@qq.com"
……
    .Item(NameSpace & "smtpserver") = "smtp.QQ.com"
    .Item(NameSpace & "smtpserverport") = 465
……
wscript "%temp%\mail.vbs" 14302642 1961381360 密码 "%computername%" "%date% %time%" "%temp%\info_.txt" "%temp%\screenshot_.jpg"
作者: lmcosper    时间: 2015-4-20 21:58

上面是最后改的码都改成QQ邮箱 因为有微信PUSH

现在出现如下错误[attach]8579[/attach]




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