文章開始,我們先回顧一下,如何用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 命令時,將顯示下面的消息:
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 命令
choice 命令
如: 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 命令
for {%variable|%%variable} in (set) do command [ CommandLineOptions]
三、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文件,就可以了。
參考資料: