windows实现每天定时截图
一直想要做一个功能来给自己的电脑每天进行一个截图操作,今天终于做好了,下面分享一下设置的过程。
使用工具
- 任务计划程序(系统自带)
- snipaste (手动下载)
设置snipaste
因为我之前的设置是在使用snipaste进行截图的时候将截图自动保存,所以开启了这个设置。本次要设置的定时截图功能也延续了该设置来实现截图的自动保存。- D:\systemfile\Pictures\snipaste\$yyyy$\$MM$\$yyyyMMdd_HHmmss$.png
复制代码
编写截图的脚本
脚本分为两个,一个是bat脚本,用来启停snipaste、截图操作。另外一个是vbs脚本,用来在后台启动bat脚本。
snipaste.bat- @echo off & chcp 65001 >nul
- :: 1. 检查 Snipaste.exe 是否正在运行
- tasklist /FI "IMAGENAME eq Snipaste.exe" 2>NUL | find /I "Snipaste.exe" >NUL
- set was_running=%ERRORLEVEL%
- :: 2. 如果未运行,则启动 Snipaste.exe
- if %was_running% neq 0 (
- echo Snipaste.exe 未运行,正在启动...
- start "" "Snipaste.exe"
- timeout /t 2 >nul
- )
- :: 3. 执行截图并保存,这里使用了snipaste的自动保存功能
- :: 如果需要使用自定义的保存,可以参考snipaste文档
- :: https://docs.snipaste.com/zh-cn/command-line-options
- echo 正在执行全屏截图并保存...
- Snipaste.exe snip --full -o success
- timeout /t 1 >nul
- :: 4. 如果最初未运行,则退出 Snipaste.exe(还原状态)
- if %was_running% neq 0 (
- echo 还原状态,退出 Snipaste.exe...
- start "" "Snipaste.exe" exit
- timeout /t 1 >nul
- )
- echo 操作完成!
- timeout /t 2 >nul
复制代码 注意不要使用pause,因为这会导致cmd一直无法退出,需要手动结束进程。
snipaste.vbs- set ws=createobject("wscript.shell")
- 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系统设置每天定时截图的功能就做好了。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |