背景

客户要求计算机开启,自动执行bat文件。

步骤

方法一:使用bat

  1. win+R: shell:startup,打开的路径所存放的软件电脑在开机的时候会自动运行。

  2. 将bat文件放入这个路径下(这里可能会出现问题,见后文)。

  3. 修改bat文件的代码:因为路径改了,所以修改的是路径代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    /*
    c盘路径下切换到C盘根路径: cd /
    c盘路径下切换到D盘: d:
    需要切换到存到软件的路径下,而不是cd D:\nodejs起本地服务\server.js
    */
    d:
    cd D:\nodejs起本地服务
    node server.js
    //增加pause,报错的时候dos页面也不会闪退。
    pause
    1. 可以双击运行,看是否可以正常运行。

方法二:使用vbs

  1. win+R: shell:startup,打开的路径所存放的软件电脑在开机的时候会自动运行。

  2. 在这个路径下新建文件夹,后缀改为vbs,然后文件–>另存为–>保存类型选所有文件–>编码选ANSI(这里可能会出现问题,见后文)。

  3. 输入如下代码:

    1
    2
    3
    4
    5
    6
    /*
    bat文件可能会闪退,目前还不知道为啥
    路径两边的三个双引号一个都不能少,VBS要用2个双引号来给一个双引号转义,笑cry
    */
    wscript.createobject("wscript.shell").run """D:\nodejs起本地服务\start.bat""",2

    1
    2
    //可以打开别的任意的软件 例如:
    wscript.createobject("wscript.shell").run """C:\Program Files (x86)\Google\Chrome\Application\chrome.exe""",2

    这段代码的意思是启动Chrome浏览器并最小化,代码最后面的参数作用如下

    1
    2
    3
    4
    0     后台
    1 普通
    2 最小化
    3 最大化

出现的问题

复制到启动路径的时候提示没有管理员权限。

解决方法:

  1. win+R,键入gpedit.msc

  2. 管理员权限

  3. 已启动了换已禁用,已禁用了换已启用试试,然后重启。(ps:其实我是没效果的)

  4. 我习惯性开机用电脑管家杀一些进程,发现没有杀的时候,是可以操作的,不需要管理员权限。

vbs拓展

VBS是基于Visual Basic的脚本语言。

一些有意思的脚本代码:

  1. 实现多条消息快速发送
1
2
3
4
5
6
7
set wshshell=wscript.createobject("wscript.shell") 
wshshell.AppActivate"要发送的人的名字"
for i=1 to 100
wscript.sleep 100
wshshell.sendKeys "^v"
wshshell.sendKeys "%s"
next

其实就是模仿了键盘的ctrl+v,enter操作,所以需要先ctrl+c一下要发送的东西,然后将vbs文件拖到要发送人的窗口,双击vbs文件即可。

  1. 一直说You are cute!
1
2
3
4
//do...loop循环类脚本:
do
msgbox "You are cute!"
loop
  1. 打开无数个计算器(慎用)
1
2
3
4
5
//会死机!!!
set wsh=createobject("wscript.shell")
do
wsh.run "calc"
loop