找回密码
 立即注册
首页 业界区 安全 windows实现每天定时截图

windows实现每天定时截图

广性 6 天前
windows实现每天定时截图

一直想要做一个功能来给自己的电脑每天进行一个截图操作,今天终于做好了,下面分享一下设置的过程。
使用工具


  • 任务计划程序(系统自带)
  • snipaste (手动下载)
设置snipaste

因为我之前的设置是在使用snipaste进行截图的时候将截图自动保存,所以开启了这个设置。本次要设置的定时截图功能也延续了该设置来实现截图的自动保存。
  1. D:\systemfile\Pictures\snipaste\$yyyy$\$MM$\$yyyyMMdd_HHmmss$.png
复制代码
1.png

编写截图的脚本

脚本分为两个,一个是bat脚本,用来启停snipaste、截图操作。另外一个是vbs脚本,用来在后台启动bat脚本。
snipaste.bat
  1. @echo off & chcp 65001 >nul
  2. :: 1. 检查 Snipaste.exe 是否正在运行
  3. tasklist /FI "IMAGENAME eq Snipaste.exe" 2>NUL | find /I "Snipaste.exe" >NUL
  4. set was_running=%ERRORLEVEL%
  5. :: 2. 如果未运行,则启动 Snipaste.exe
  6. if %was_running% neq 0 (
  7.     echo Snipaste.exe 未运行,正在启动...
  8.     start "" "Snipaste.exe"
  9.     timeout /t 2 >nul
  10. )
  11. :: 3. 执行截图并保存,这里使用了snipaste的自动保存功能
  12. :: 如果需要使用自定义的保存,可以参考snipaste文档
  13. :: https://docs.snipaste.com/zh-cn/command-line-options
  14. echo 正在执行全屏截图并保存...
  15. Snipaste.exe snip --full -o success
  16. timeout /t 1 >nul
  17. :: 4. 如果最初未运行,则退出 Snipaste.exe(还原状态)
  18. if %was_running% neq 0 (
  19.     echo 还原状态,退出 Snipaste.exe...
  20.     start "" "Snipaste.exe" exit
  21.     timeout /t 1 >nul
  22. )
  23. echo 操作完成!
  24. timeout /t 2 >nul
复制代码
注意不要使用pause,因为这会导致cmd一直无法退出,需要手动结束进程。
snipaste.vbs
  1. set ws=createobject("wscript.shell")
  2. ws.Run """snipaste.bat""",0
复制代码
将snipaste.vbs和snipaste.bat放在同一个目录下,不要使用中文。
设置任务计划程序

Win + R输入taskschd.msc打开任务计划程序设置。

  • 创建基本任务
  • 名字写每日截图,根据自己喜好设置
  • 触发器设置为每天,选一个自己需要运行的时间
  • 操作选择启动程序
  • 脚本或脚本,名字填入snipaste.vbs,起始于填入 E:\code\IdeaProjects\notebook\windows\shell\bat\learn-bat\snipaste\,根据自己脚本所在路径进行设置
  • 设置完成后点选中新添加的任务,点一下右边的运行,测试截图是否成功
至此,为windows系统设置每天定时截图的功能就做好了。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册