群里有朋友问到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.
。。。
is: @|[.] [ ...]

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解释也很详细提到了@|[.] [ ...]方式来运行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系统,也会贴出一些系统常用维护技巧与大家分享。

windows开机自启动bat脚本设置的更多相关文章

  1. 开机自启动Powershell脚本

    目录 目录 前言 修改注册表 写批处理 以管理员方式打开Posershell程序 修改PS-profile 最后 前言 这绝B是个非常受用的技能. 修改注册表 Open Registry Editor ...

  2. VC++ windows开机自启动设置

    设置开机启动 很多软件要求软件能够在开机时自启动,下面讲讲如何设置开机自启动. Windows设置程序的开机启动的方法有很多,这里只讲其中的一种,该方法同时适用于32位和64位的操作系统,只需将需要开 ...

  3. linux_设置开机自启动程序脚本

    设置开机自启动

  4. windows开机执行bat

    一.以windows下备份sql数据库为例,开机自动执行.bat脚本        1.新建dump.bat文件,文件中的代码如下:                set YYYYmmdd=%date ...

  5. [Winform]setupfactory打包时添加开机自启动的脚本

    摘要 如果有这样的需求,需要软件开机自启动,该如何做呢?开机自启动的做法,就是修改注册表,将你的exe注册到注册表Run节点下. setupfactory 在安装的时候需要以管理员身份运行,这样可以保 ...

  6. windows开机自启动的django服务

    做了一个django项目,想部署在win10的笔记本电脑上,可以开机后台自动启动.找了很多的方法.最后成功了. 参考了这个博主的内容. https://blog.csdn.net/qq_3595961 ...

  7. 添加windows开机自启动项

    windows系统下我们最常用的是禁用启动项,但如果程序不在自启动列表里面,如何添加程序启动呢. 其实也很简单,首先找到windows启动路径C:\Users\NL\AppData\Roaming\M ...

  8. linux开机自启动服务优化设置命令

    1.设置成英文字符,避免出现乱码[root@xuegod62 ~]# LANG=en2.两种配置linux开机自启动服务命令:1)[root@xuegod62 ~]# ntsysv2)[root@xu ...

  9. windows开机启动bat文件

    1.运行 shell:startup 命令,如下: 2.创建bat的快捷方式,把改快捷方式添加到,C:\ProgramData\Microsoft\Windows\Start Menu\Program ...

随机推荐

  1. jq 抽奖

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...

  2. CF #327 DIV2 D、E

    两题都不难. 对于D题,可以使用相对移动,把吹aircraft移动变成相反方向的待援点的移动.假设此时时间为t,把aircraft的速度设为Vmax,看待援点在飞船最大速度飞行t秒的范围内,注意风向变 ...

  3. qml

    用qt非常久了.可是一直没有注意到一个叫做qml的东西.今天google了一下,总结一下我的理解. 从表面上看qml就是用css javascript那一套来做软件的GUI,和原来的C++的widge ...

  4. iOS开发网络篇之Web Service和XML数据解析

    郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主.捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 游戏官方下 ...

  5. PL/SQL Developer使用技巧、快捷键(转发)

    转发自:https://www.cnblogs.com/linjiqin/archive/2013/06/24/3152538.html PL/SQL Developer使用技巧.快捷键 1.类SQL ...

  6. 检测含有挖矿脚本的WiFi热点——果然是天下没有免费的午餐

    见:http://www.freebuf.com/articles/web/161010.html 本质上是在开放wifi热点,自己搭建挖掘的网页,让接入的人访问该网页. 802.11无线协议本身特点 ...

  7. Appium + python - get_attribute获取value操作

    from appium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitfrom selenium.w ...

  8. indeed 5.13 第二次网测

    题目描述,我找不见了,大概写一下想法和代码吧. 1. 没有看 2. 由于数据范围很小,就是简单的枚举,求全排列,然后更新答案. #include<bits/stdc++.h> #defin ...

  9. B - Link/Cut Tree

    Problem description Programmer Rostislav got seriously interested in the Link/Cut Tree data structur ...

  10. C#比较两个日期的大小 .net

    using System;using System.Collections; public class MyClass{public static void Main(){DateTime dt1 = ...