zoukankan      html  css  js  c++  java
  • 利用bat批处理做启动mongodb脚本

      文章开始,我们先回顾一下,如何用cmd命令窗口开启mongodb数据库,命令如下:

      开启mongodb数据库

    cd D:Program FilesMongoDBin
    mongod   --depath "D:Program FilesMongoDBdata"

     

    看到以上窗口信息,我们就可以看到mongodb数据库启动成功 或者在浏览器运行  http://localhost:27017/看到这样的英文It looks like you are trying to access MongoDB over HTTP on the native driver port.就证明mongodb数据库启动成功了。

      可以参考我之前的文章:http://www.cnblogs.com/pingfan1990/p/4531573.html

      下面来我们来讲解以下如何写.bat批处理文件启动mongodb数据库:

    一、什么事bat批处理文件

      bat文件是dos下的批处理文件。批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。

    二、bat常见的语法命令

      Echo 命令
      打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前回显设置。
      语法

    echo [{on|off}] [message]
    Sample:@echo off / echo hello world

      在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实现输入一些命令到特定格式的文件中。

      @ 命令

      表示不显示@后面的命令,在入侵过程中(例如使用批处理来格式化敌人的硬盘)自然不能让对方看到你使用的命令啦。

    Sample:@echo off
    @echo Now initializing the program,please wait a minite...

      @format X: /q/u/autoset (format 这个命令是不可以使用/y这个参数的,可喜的是微软留了个autoset这个参数给我们,效果和/y是一样的。)

      Goto 命令

      指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。

      语法:goto label (label是参数,指定所要转向的批处理程序中的行。)

    Sample:
    if {%1}=={} goto noparms
    if {%2}=={} goto noparms(如果这里的if、%1、%2你不明白的话,先跳过去,后面会有详细的解释。)
    @Rem check parameters if null show usage
    :noparms
    echo Usage: monitor.bat ServerIP PortNumber
    goto end

      标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:用来表示这个字母是标签,goto命令就是根据这个:来寻找下一步跳到到那里。最好有一些说明这样别人看起来才会理解你的意图啊。

      Rem 命令(可以用::代替rem)

      注释命令,在C语言中相当与/*--------*/,它并不会被执行,只是起一个注释的作用,便于别人阅读和你自己日后修改。

      Pause 命令

      运行 Pause 命令时,将显示下面的消息:

      Press any key to continue . . .
    Sample:
    @echo off
    :begin
    copy a:*.* d:ack
    echo Please put a new disk into driver A
    pause
    goto begin

      在这个例子中,驱动器 A 中磁盘上的所有文件均复制到d:ack中。显示的注释提示您将另一张磁盘放入驱动器 A 时,pause 命令会使程序挂起,以便您更换磁盘,然后按任意键继续处理。

      Call 命令

      从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。call 命令接受用作调用目标的标签。如果在脚本或批处理文件外使用 Call,它将不会在命令行起作用。

    语法
    call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]]
    参数
    [Drive:][Path] FileName

      指定要调用的批处理程序的位置和名称。filename 参数必须具有 .bat 或 .cmd 扩展名。

      start 命令

      调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用。
      入侵常用参数:
      MIN 开始时窗口最小化
      SEPARATE 在分开的空间内开始 16 位 Windows 程序
      HIGH 在 HIGH 优先级类别开始应用程序
      REALTIME 在 REALTIME 优先级类别开始应用程序
      WAIT 启动应用程序并等候它结束
      parameters 这些为传送到命令/程序的参数
      执行的应用程序是 32-位 GUI 应用程序时,CMD.EXE 不等应用程序终止就返回命令提示。如果在命令脚本内执行,该新行为则不会发生。

      choice 命令  

      choice 使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。它的返回码为1234……
    如: choice /c:dme defrag,mem,end
    将显示
    defrag,mem,end[D,M,E]?
    Sample:
    Sample.bat的内容如下:
    @echo off
    choice /c:dme defrag,mem,end
    if errorlevel 3 goto defrag (应先判断数值最高的错误码)
    if errorlevel 2 goto mem
    if errotlevel 1 goto end
    :defrag
    c:dosdefrag
    goto end
    :mem
    mem
    goto end
    :end
    echo good bye

      此文件运行后,将显示 defrag,mem,end[D,M,E]? 用户可选择d m e ,然后if语句将作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处,然后程序将显示good bye,文件结束。

      If 命令

      if 表示将判断是否符合规定的条件,从而决定执行不同的命令。有三种格式:
      ⒈if "参数" == "字符串" 待执行的命令
      参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号)
      如if "%1"=="a" format a:
      if {%1}=={} goto noparms
      if {%2}=={} goto noparms
      ⒉if exist 文件名 待执行的命令
      如果有指定的文件,则条件成立,运行命令,否则运行下一句。
      如if existconfig.sysedit config.sys
      ⒊if errorlevel / if not errorlevel 数字 待执行的命令
      如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。
      如if errorlevel 2 goto x2
      DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码,常见的返回码为0、1。
     
      for 命令
      for 命令是一个比较复杂的命令,主要用于参数在指定的范围内循环执行命令。
      在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable
    for {%variable|%%variable} in (set) do command [ CommandLineOptions]
      %variable 指定一个单一字母可替换的参数。
      (set) 指定一个或一组文件。可以使用通配符
      command 指定对每个文件执行的命令。
      command-parameters 为特定命令指定参数或命令行开关。
      在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable
      而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I

    三、bat批处理例子

      批处理的作用 

      简单的说,批处理的作用就是自动的连续执行多条命令。 

      这里先讲一个最简单的应用:在启动wps软件时,每次都必须执行(>前面内容表示DOS提示符): 

    C:>cd wps 
    C:WPS>spdos 
    C:WPS>py 
    C:WPS>wbx 
    C:WPS>wps 

      如果每次用WPS之前都这样执行一遍,您是不是觉得很麻烦呢? 

      好了,用批处理,就可以实现将这些麻烦的操作简单化,首先我们编写一个runwps.bat批处理文件,内容如下: 

    @echo off 
    c: 
    cdwps 
    spdos 
    py 
    wbx 
    wps 
    cd 
    

      以后,我们每次进入wps,只需要运行runwps这个批处理文件即可。 

    四、bat批处理实现启动mongodb脚本

      mongodb安装bin路径D:Program FilesMongoDBin,mongodb中data数据文件夹D:Program FilesMongoDBdata

      我们在cmd命令窗口应该是这样,启动mongodb数据库

    cd D:Program FilesMongoDBin
    mongod   --depath "D:Program FilesMongoDBdata"

      但是每次让我们去敲这些的时候,确实让我们很麻烦,那我们可以运用bat的只是,做这样的bat文件:

    ::表示在此语句后所有运行的命令都不显示命令行本身
    @echo off 
    echo 你好 
    ::进入d盘
    D:
    cd Program FilesMongoDBin
    mongod   --dbpath "D:Program FilesMongoDBdata"
    
    //以下是注释部分
    ::mongod  -- dbpath  "D:Program FilesMongoDBdata"
    
    :: d:> echo "this d"
    :: d:> echo "this d"
    :: d:> echo "this d"
    :: d:> echo "this d"
    ::mongod  --dbpath  "D:Program FilesMongoDBdata"
    ::写入b.txt文件
    
    ::dir D:Program FilesMongoDBin>  b.txt
    
    ::pause 

      通过这个文件,那我们每次要开启mongodb服务时,点击这个bat文件,就可以了。

      参考资料:

      bat文件   http://baike.baidu.com/view/1024624.htm

      BAT文件语法和技巧(bat文件的编写及使用)

      BAT文件语法和技巧bat文件的编写及使用

  • 相关阅读:
    JavaScript
    94.Binary Tree Inorder Traversal
    144.Binary Tree Preorder Traversal
    106.Construct Binary Tree from Inorder and Postorder Traversal
    105.Construct Binary Tree from Preorder and Inorder Traversal
    90.Subsets II
    78.Subsets
    83.Merge Sorted Array
    80.Remove Duplicates from Sorted Array II
    79.Word Search
  • 原文地址:https://www.cnblogs.com/pingfan1990/p/4558630.html
Copyright © 2011-2022 走看看