windows实现每天定时截图
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系统设置每天定时截图的功能就做好了。
windows实现每天定时截图的更多相关文章
- VC中基于 Windows 的精确定时[转]
在工业生产控制系统中,有许多需要定时完成的操作,如定时显示当前时间,定时刷新屏幕上的进度条,上位 机定时向下位机发送命令和传送数据等.特别是在对控制性能要求较高的实时控制系统和数据采集系统中,就更需要 ...
- 使用cwRsync实现windows下文件定时同步【转】
1.参考文献: 使用cwRsync实现windows下文件定时同步(备份) 文件同步工具CwRsync的使用方法及常用命令详解 2.背景: 当前的SCADA架构中,有1台Server,5台FE,还有1 ...
- VC中基于 Windows 的精确定时
在工业生产控制系统中,有许多需要定时完成的操作,如定时显示当前时间,定时刷新屏幕上的进度条,上位 机定时向下位机发送命令和传送数据等.特别是在对控制性能要求较高的实时控制系统和数据采集系统中,就更需要 ...
- 在Windows 10中截取截图的6种方式 简介
在Windows 10中截取截图的6种方式 简介 截图对于不同的目的很重要.它可以用于捕获笔记本电脑上的任何内容的截图.所以,如果你使用Windows 10,你可能不知道如何截图,因为它是比较新的.因 ...
- Nodejs+定时截图+发送邮件
功能 每天定时截图,并把截到的图片自动通过邮件发送. 说明 代码注释已经非常详细,就不多做说明,需要的朋友自己查看代码即可,主文件Mail.js,截图文件capturePart1.js,capture ...
- 使用cwRsync实现windows下文件定时同步
1.参考文献: 使用cwRsync实现windows下文件定时同步(备份) 文件同步工具CwRsync的使用方法及常用命令详解 2.背景: 当前的SCADA架构中,有1台Server,5台FE,还有1 ...
- asp.net基于windows服务实现定时发送邮件的方法
本文实例讲述了asp.net基于windows服务实现定时发送邮件的方法.分享给大家供大家参考,具体如下: //定义组件 private System.Timers.Timer time; publi ...
- C#创建windows服务并定时执行
一.创建window服务 1.新建项目-->选择Windows服务.默认生成文件包括Program.cs,Service1.cs 2.在Service1.cs添加如下代码: System.Tim ...
- windows任务设置定时
windows 的Schedule Task .创建一个配置 1.点击"开始" 2.点击"控制面板" 3.双击"任务计划程序" 4.双击&q ...
- windows 服务实现定时任务调度(Quartz.Net)
我们通常在一些情况下需要软件具有一个自动执行某些任务的功能,但是又不希望直接启动软件,或者每次都要手动的来启动软件,这时我们可可以考虑到windows服务了. 首先创建一个windows服务项目(详细 ...
随机推荐
- 库卡机器人KR3R540电源模块常见故障维修解决方法
库卡机器人KR3R540电源模块的常见故障及维修解决方法包括: 电源模块无法正常启动:应检查电源模块的电源连接是否正常,以及电源开关是否开启.如果电源连接正常,但驱 ...
- C#中固定编译时不确定数量的变量(相关话题fixed固定多个数组)
以交错数组byte[][]为例. fixed无法固定byte[][],只能在编译时固定确定数量的变量. 交错数组byte[][]中的每一个byte[]可以采用GCHandle进行固定. int n = ...
- mysql 无数据插入,有数据更新
mysql的语法与sql server有很多不同,sql server执行插入更新时可以update后使用if判断返回的@@rowcount值,然后确定是否插入,mysql在语句中无法使用类似sql ...
- 2025 年最值得尝试的几款 DevOps 平台工具推荐
随着软件开发和运维的深度融合,DevOps 平台已成为现代企业加速数字化转型的核心引擎.在 2025 年,面对快速迭代的市场需求与复杂的技术架构,选择一款适配性强.功能完备的 DevOps 平台,不仅 ...
- 学习高可靠Redis分布式锁实现思路
一.分布式锁的必要性 在单体应用时代,我们使用ReentrantLock或synchronized就能解决线程安全问题.但当系统拆分为分布式架构后(目前大多数公司应该不会只是单体应用了),跨进程的共享 ...
- mysql 连接失败:message from server: "Host '192.168.xx.xxx' is not allowed to connect to this MySQL server"
前言 mysql 连接失败:message from server: "Host '192.168.xx.xxx' is not allowed to connect to this MyS ...
- 一文搞懂 Redis 架构演化之路
作者:ryetan,腾讯 CSIG 后台开发工程师 现如今 Redis 变得越来越流行,几乎在很多项目中都要被用到,不知道你在使用 Redis 时,有没有思考过,Redis 到底是如何稳定.高性能地提 ...
- MySQL REPLACE函数:字符串替换
语法 REPLACE ( string_expression , string_pattern , string_replacement ) 替换字符串,接受3个参数,分别是原字符串,被替代字符串,替 ...
- python web服务器--WSGI/ASGI协议--web框架,三者之间的关系
在 Python Web 开发中,Web 服务器.WSGI/ASGI 协议 和 Web 框架 是三个核心组成部分,它们共同协作以实现完整的 Web 应用程序.以下是三者之间的关系和作用的详细讲解: 1 ...
- SpringBoot+Thymeleaf渲染下拉框异常解决
常规方式 <select class="form-control" name="operationType" th:field="${itemT ...