-
- 背景
- 如何开机自启
- 快捷方式
- 第一步
- 第二步
- 第三步
- 第四步
- VB实现
- 逻辑脚本
- VB代码
- 实现效果
- 两种方法区别
- 快捷方式
- 总结
背景
有些时候,我们需要做一些定时,或者指定时间运行的任务。然而相对于普通电脑和服务器而言,还是有一定的区别的。
对于服务器而言,基本上会一直处于一个运行状态。所以想要在指定的时间运行程序,或者脚本也会是很方面的。大不了写个死循环一直监听呗,虽然消耗了点服务器资源,但这点消耗不会很大,也是可以接受的。如果觉得自己写的不够精简,高效。 还可以使用Celery, Aspscheduler 这些现成的定时任务框架。
但是对于大家的普通电脑而言,要做到24小时全天开机就不是那么容易了,原因也是各方面的。这个时候要想执行一些比较特殊的任务就不行了。只能利用开机自启这种形式来进行弥补。
如何开机自启
常见的开机自启实现方式有三种:
- 第一种最为简单,直接利用快捷方式,然后进行特殊处理就可以了。
- 第二种可以使用VB脚本来实现。
- 第三种就是写成服务来实现。
博主没有学过VB语言,所以这里也只是做一个“代码的搬运工”,借花献佛了。至于服务这块,个人建议,非有专业知识不要乱改,否则可能会导致系统的崩溃。这对于开发人员而言简直是一个灾难,因为每次装完系统之后的一大堆的环境配置真的是很浪费时间。所以这里将会详细的讲解windows7下的开机自启实现,简要的讲解一下VB脚本的实现。
快捷方式
第一步
为了能更好的演示实现的效果,这里简单的用Python写了个脚本,大致的意思就是一个21秒为间隔输出一下当前时间。
import time
while True:
misseconds = time.time()
if int(misseconds)% 7 == 0:
print time.ctime()
time.sleep(3)
第二步
然后点击脚本文件,右键创建快捷方式。
第三步
按照以下顺序点击即可。
开始–> 所有程序–> 启动–>右键打开–> 将刚才创建的快捷方式剪切过来,即可。
原理上讲,只需要放进去你想被启动的应用的快捷方式即可。比如QQ的快捷方式, Gmail邮箱的快捷方式等等。都是可以的。
但是这里为什么放进去一个run.bat批命令脚本呢?因为如果放进去文本文件的话,系统会以默认打开这种类型的文件的应用启动,打开这个文本文件的。博主的py文件默认关联到了Sublime Text,所以不能直接放入py文件的快捷方式。于是写了个批命令脚本。内容也是很简单的:
@echo off
python test.py
注意好路径问题即可。
相信眼睛比较敏锐的朋友已经发现了资源管理器上的地址了。其实我们也可以手动的寻找下面这个目录,然后直接添加快捷方式。
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
这样同样是可行的。
第四步
接下来就是验证一下啦。博主亲自测试了一下,确实可用。
VB实现
博主没有学过VB这门语言,所以在此做个搬运工,把前辈们总结好的经验拿过来献一下佛好啦。
逻辑脚本
目标脚本为start.bat, 按照自己的需求实现即可。
VB代码
代码如下:
set ws=WScript.CreateObject("WScript.Shell")
ws.Run "C:\abc\script.bat /start",0
然后将该文件保存为script.vbs,放入“开始 –> 所有程序 –> 启动”内即可。
实现效果
实现的效果就是: 在后台静默执行,而不会弹出一个黑色的小框框。
两种方法区别
共同点都是通过快捷方式来实现的,但是前者会弹出黑色的命令行,后者在后台静默执行。
虽然可以通过修改Python脚本文件后缀名为pyw而实现静默运行,但终归有些不够正统。而VB的那个显得才那么有点像回事啦。
总结
回顾一下,本次试验针对windows7操作系统,叙述了开机自启的两种方式。比较简单,但是很有可能会在某些时候起到意想不到的效果。
两种方式有利有弊,选择适合自己的就好了。