利用bat批處理做啟動mongodb指令碼

來源:互聯網
上載者:User

標籤:

  文章開始,我們先回顧一下,如何用cmd命令視窗開啟mongodb資料庫,命令如下:

  開啟mongodb資料庫

cd D:\Program Files\MongoDB\binmongod   --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 noparmsif {%2}=={} goto noparms(如果這裡的if、%1、%2你不明白的話,先跳過去,後面會有詳細的解釋。)@Rem check parameters if null show usage:noparmsecho Usage: monitor.bat ServerIP PortNumbergoto end

  標籤的名字可以隨便起,但是最好是有意義的字母啦,字母前加個:用來表示這個字母是標籤,goto命令就是根據這個:來尋找下一步跳到到那裡。最好有一些說明這樣別人看起來才會理解你的意圖啊。

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

  注釋命令,在C語言中相當與/*--------*/,它並不會被執行,只是起一個注釋的作用,便於別人閱讀和你自己日後修改。

  Pause 命令

  運行 Pause 命令時,將顯示下面的訊息:

  Press any key to continue . . .
Sample:@echo off:begincopy a:*.* d:\backecho Please put a new disk into driver Apausegoto 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 offchoice /c:dme defrag,mem,endif errorlevel 3 goto defrag (應先判斷數值最高的錯誤碼)if errorlevel 2 goto memif errotlevel 1 goto end:defragc:\dos\defraggoto end:memmemgoto end:endecho 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: 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\binmongod   --depath "D:\Program Files\MongoDB\data"

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

::表示在此語句後所有啟動並執行命令都不顯示命令列本身@echo off echo 你好 ::進入d盤D:cd \Program Files\MongoDB\binmongod   --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檔案的編寫及使用

利用bat批處理做啟動mongodb指令碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.