windows开机自启动bat脚本设置

群里有朋友问到windows下如何设计开机自启动的脚本,一般而言小鱼大多还是在linux环境下运维,windows的bat了解的很少,windows运行机制也不是特别了解,不过既然朋友问到这个问题,虽然是个小问题,不过可能以后确实会用到这个,就找了一些资料进行了测试和整理

例如开机运行的bat脚本存储的位置为C:\script\script.bat,脚本的内容为:
lsnrctl start
sqlplus / as sysdba @c:\script\script.sql

需要注意的是windows下的bat和linux unix中的shell不一样,bat中没有<<EOF分界符,不过sqlplus却提供给我们另外一种方式来在bat中执行sql的命令。

C:\Users\Administrator>sqlplus -help

SQL*Plus: Release 10.2.0.4.0 - Production

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.
。。。
<start> is: @<URL>|<filename>[.<ext>] [<parameter> ...]

   Runs the specified SQL*Plus script from a web server (URL) or the
   local file system (filename.ext) with specified parameters that
   will be assigned to substitution variables in the script.

Sqlplus解释也很详细提到了@<URL>|<filename>[.<ext>] [<parameter> ...]方式来运行sql命令

这里已经编辑了一个实用的bat脚本,接下来就是如何将这个脚本制作为开机自启动,此时我们需要创建一个.vbs脚本在开机后台自动运行该脚本,脚本的内容为:
 set ws=WScript.CreateObject("WScript.Shell")
ws.Run "C:\script\script.bat /start",0

将上述文件保存为script.vbs放入开机-所有程序-启动内,其实也就是一个文件夹,用于记录开机自启动bat脚本,小鱼这个测试环境中这个文件夹的位置为
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

上述的vbs脚本需要注意第一行应该是定义一个变量,然后第二行调用了去运行了这个变量,变量的脚本就是C:\script\script.bat这个脚本,小鱼并非windows程序员出身,只自学过一点点mfc的框架。

等待一切完成后,我们就可以来进行测试了,这里小鱼在C:\script\script.bat脚本中启动了监听,然后修改了open_cursors参数,从默认的300修改为了1000,接下来我们重启机器或者手动运行script.vbs进行验证:

运行脚本前:
SQL> show parameter open_cursors

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
open_cursors                         integer     300

运行脚本后:
SQL> show parameter open_cursors;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
open_cursors                         integer     1000

可能还有别的方法来设置开机自启动,比如windows服务来引导bat脚本,这里小鱼就不再列出了,后面有大量机会如果能够接触aix系统,也会贴出一些系统常用维护技巧与大家分享。

About xiaoyu

xiaoyu,享受数据库带给xiaoyu的乐趣! 13439818916@163.com 欢迎邮件联系讨论
This entry was posted in linux、unix、windows. Bookmark the permalink.