首页 > 代码库 > Windows7 开机自启脚本

Windows7 开机自启脚本

    • 背景
    • 如何开机自启
      • 快捷方式
        • 第一步
        • 第二步
        • 第三步
        • 第四步
      • 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操作系统,叙述了开机自启的两种方式。比较简单,但是很有可能会在某些时候起到意想不到的效果。

两种方式有利有弊,选择适合自己的就好了。

<script type="text/javascript"> $(function () { $(‘pre.prettyprint code‘).each(function () { var lines = $(this).text().split(‘\n‘).length; var $numbering = $(‘
    ‘).addClass(‘pre-numbering‘).hide(); $(this).addClass(‘has-numbering‘).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($(‘
  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>

    Windows7 开机自启脚本