利用bat批處理做啟動mongodb腳本


  文章開始,我們先回顧一下,如何用cmd命令窗口開啟mongodb數據庫,命令如下:

  開啟mongodb數據庫

cd D:\Program Files\MongoDB\bin
mongod   --depath "D:\Program Files\MongoDB\data"

 

看到以上窗口信息,我們就可以看到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:\back
echo Please put a new disk into driver A
pause
goto begin

  在這個例子中,驅動器 A 中磁盤上的所有文件均復制到d:\back中。顯示的注釋提示您將另一張磁盤放入驅動器 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:\dos\defrag
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 exist config.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: 
cd\wps 
spdos 
py 
wbx 
wps 
cd\ 

  以后,我們每次進入wps,只需要運行runwps這個批處理文件即可。 

四、bat批處理實現啟動mongodb腳本

  mongodb安裝bin路徑D:\Program Files\MongoDB\bin,mongodb中data數據文件夾D:\Program Files\MongoDB\data

  我們在cmd命令窗口應該是這樣,啟動mongodb數據庫

cd D:\Program Files\MongoDB\bin
mongod   --depath "D:\Program Files\MongoDB\data"

  但是每次讓我們去敲這些的時候,確實讓我們很麻煩,那我們可以運用bat的只是,做這樣的bat文件:

::表示在此語句后所有運行的命令都不顯示命令行本身
@echo off 
echo 你好 
::進入d盤
D:
cd \Program Files\MongoDB\bin
mongod   --dbpath "D:\Program Files\MongoDB\data"

//以下是注釋部分
::mongod  -- dbpath  "D:\Program Files\MongoDB\data"

:: d:> echo "this d"
:: d:> echo "this d"
:: d:> echo "this d"
:: d:> echo "this d"
::mongod  --dbpath  "D:\Program Files\MongoDB\data"
::寫入b.txt文件

::dir D:\Program Files\MongoDB\bin>  b.txt

::pause 

  通過這個文件,那我們每次要開啟mongodb服務時,點擊這個bat文件,就可以了。

 

  參考資料:

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

  BAT文件語法和技巧(bat文件的編寫及使用)

  BAT文件語法和技巧bat文件的編寫及使用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM