利用bat批处理做启动mongodb脚本
文章開(kāi)始,我們先回顧一下,如何用cmd命令窗口開(kāi)啟mongodb數(shù)據(jù)庫(kù),命令如下:
開(kāi)啟mongodb數(shù)據(jù)庫(kù)
cd D:\Program Files\MongoDB\bin mongod --depath "D:\Program Files\MongoDB\data"
看到以上窗口信息,我們就可以看到mongodb數(shù)據(jù)庫(kù)啟動(dòng)成功 或者在瀏覽器運(yùn)行 ?http://localhost:27017/看到這樣的英文It looks like you are trying to access MongoDB over HTTP on the native driver port.就證明mongodb數(shù)據(jù)庫(kù)啟動(dòng)成功了。
可以參考我之前的文章:http://www.cnblogs.com/pingfan1990/p/4531573.html
下面來(lái)我們來(lái)講解以下如何寫(xiě).bat批處理文件啟動(dòng)mongodb數(shù)據(jù)庫(kù):
一、什么事bat批處理文件
bat文件是dos下的批處理文件。批處理文件是無(wú)格式的文本文件,它包含一條或多條命令。它的文件擴(kuò)展名為 .bat 或 .cmd。在命令提示下鍵入批處理文件的名稱,或者雙擊該批處理文件,系統(tǒng)就會(huì)調(diào)用cmd.exe按照該文件中各個(gè)命令出現(xiàn)的順序來(lái)逐個(gè)運(yùn)行它們。使用批處理文件(也被稱為批處理程序或腳本),可以簡(jiǎn)化日常或重復(fù)性任務(wù)。
二、bat常見(jiàn)的語(yǔ)法命令
Echo 命令
打開(kāi)回顯或關(guān)閉請(qǐng)求回顯功能,或顯示消息。如果沒(méi)有任何參數(shù),echo 命令將顯示當(dāng)前回顯設(shè)置。
語(yǔ)法
在實(shí)際應(yīng)用中我們會(huì)把這條命令和重定向符號(hào)(也稱為管道符號(hào),一般用> >> ^)結(jié)合來(lái)實(shí)現(xiàn)輸入一些命令到特定格式的文件中。
@ 命令
表示不顯示@后面的命令,在入侵過(guò)程中(例如使用批處理來(lái)格式化敵人的硬盤)自然不能讓對(duì)方看到你使用的命令啦。
Sample:@echo off @echo Now initializing the program,please wait a minite...@format X: /q/u/autoset (format 這個(gè)命令是不可以使用/y這個(gè)參數(shù)的,可喜的是微軟留了個(gè)autoset這個(gè)參數(shù)給我們,效果和/y是一樣的。)
Goto 命令
指定跳轉(zhuǎn)到標(biāo)簽,找到標(biāo)簽后,程序?qū)⑻幚韽南乱恍虚_(kāi)始的命令。
語(yǔ)法:goto label (label是參數(shù),指定所要轉(zhuǎn)向的批處理程序中的行。)
Sample: if {%1}=={} goto noparms if {%2}=={} goto noparms(如果這里的if、%1、%2你不明白的話,先跳過(guò)去,后面會(huì)有詳細(xì)的解釋。) @Rem check parameters if null show usage :noparms echo Usage: monitor.bat ServerIP PortNumber goto end標(biāo)簽的名字可以隨便起,但是最好是有意義的字母啦,字母前加個(gè):用來(lái)表示這個(gè)字母是標(biāo)簽,goto命令就是根據(jù)這個(gè):來(lái)尋找下一步跳到到那里。最好有一些說(shuō)明這樣別人看起來(lái)才會(huì)理解你的意圖啊。
Rem 命令(可以用::代替rem)
注釋命令,在C語(yǔ)言中相當(dāng)與/*--------*/,它并不會(huì)被執(zhí)行,只是起一個(gè)注釋的作用,便于別人閱讀和你自己日后修改。
Pause 命令
運(yùn)行 Pause 命令時(shí),將顯示下面的消息:
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在這個(gè)例子中,驅(qū)動(dòng)器 A 中磁盤上的所有文件均復(fù)制到d:\back中。顯示的注釋提示您將另一張磁盤放入驅(qū)動(dòng)器 A 時(shí),pause 命令會(huì)使程序掛起,以便您更換磁盤,然后按任意鍵繼續(xù)處理。
Call 命令
從一個(gè)批處理程序調(diào)用另一個(gè)批處理程序,并且不終止父批處理程序。call 命令接受用作調(diào)用目標(biāo)的標(biāo)簽。如果在腳本或批處理文件外使用 Call,它將不會(huì)在命令行起作用。
語(yǔ)法 call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]] 參數(shù) [Drive:][Path] FileName指定要調(diào)用的批處理程序的位置和名稱。filename 參數(shù)必須具有 .bat 或 .cmd 擴(kuò)展名。
start 命令
調(diào)用外部程序,所有的DOS命令和命令行程序都可以由start命令來(lái)調(diào)用。 入侵常用參數(shù): MIN 開(kāi)始時(shí)窗口最小化 SEPARATE 在分開(kāi)的空間內(nèi)開(kāi)始 16 位 Windows 程序 HIGH 在 HIGH 優(yōu)先級(jí)類別開(kāi)始應(yīng)用程序 REALTIME 在 REALTIME 優(yōu)先級(jí)類別開(kāi)始應(yīng)用程序 WAIT 啟動(dòng)應(yīng)用程序并等候它結(jié)束 parameters 這些為傳送到命令/程序的參數(shù) 執(zhí)行的應(yīng)用程序是 32-位 GUI 應(yīng)用程序時(shí),CMD.EXE 不等應(yīng)用程序終止就返回命令提示。如果在命令腳本內(nèi)執(zhí)行,該新行為則不會(huì)發(fā)生。choice 命令
choice 使用此命令可以讓用戶輸入一個(gè)字符,從而運(yùn)行不同的命令。使用時(shí)應(yīng)該加/c:參數(shù),c:后應(yīng)寫(xiě)提示可輸入的字符,之間無(wú)空格。它的返回碼為1234…… 如: choice /c:dme defrag,mem,end 將顯示 defrag,mem,end[D,M,E]? Sample: Sample.bat的內(nèi)容如下: @echo off choice /c:dme defrag,mem,end if errorlevel 3 goto defrag (應(yīng)先判斷數(shù)值最高的錯(cuò)誤碼) if errorlevel 2 goto mem if errotlevel 1 goto end :defrag c:\dos\defrag goto end :mem mem goto end :end echo good bye此文件運(yùn)行后,將顯示 defrag,mem,end[D,M,E]? 用戶可選擇d m e ,然后if語(yǔ)句將作出判斷,d表示執(zhí)行標(biāo)號(hào)為defrag的程序段,m表示執(zhí)行標(biāo)號(hào)為mem的程序段,e表示執(zhí)行標(biāo)號(hào)為end的程序段,每個(gè)程序段最后都以goto end將程序跳到end標(biāo)號(hào)處,然后程序?qū)@示good bye,文件結(jié)束。
If 命令
if 表示將判斷是否符合規(guī)定的條件,從而決定執(zhí)行不同的命令。有三種格式: ⒈if "參數(shù)" == "字符串" 待執(zhí)行的命令 參數(shù)如果等于指定的字符串,則條件成立,運(yùn)行命令,否則運(yùn)行下一句。(注意是兩個(gè)等號(hào)) 如if "%1"=="a" format a: if {%1}=={} goto noparms if {%2}=={} goto noparms ⒉if exist 文件名 待執(zhí)行的命令 如果有指定的文件,則條件成立,運(yùn)行命令,否則運(yùn)行下一句。 如if existconfig.sysedit config.sys ⒊if errorlevel / if not errorlevel 數(shù)字 待執(zhí)行的命令 如果返回碼等于指定的數(shù)字,則條件成立,運(yùn)行命令,否則運(yùn)行下一句。 如if errorlevel 2 goto x2 DOS程序運(yùn)行時(shí)都會(huì)返回一個(gè)數(shù)字給DOS,稱為錯(cuò)誤碼errorlevel或稱返回碼,常見(jiàn)的返回碼為0、1。 for 命令 for 命令是一個(gè)比較復(fù)雜的命令,主要用于參數(shù)在指定的范圍內(nèi)循環(huán)執(zhí)行命令。 在批處理文件中使用 FOR 命令時(shí),指定變量請(qǐng)使用 %%variable for {%variable|%%variable} in (set) do command [ CommandLineOptions] %variable 指定一個(gè)單一字母可替換的參數(shù)。 (set) 指定一個(gè)或一組文件。可以使用通配符。 command 指定對(duì)每個(gè)文件執(zhí)行的命令。 command-parameters 為特定命令指定參數(shù)或命令行開(kāi)關(guān)。 在批處理文件中使用 FOR 命令時(shí),指定變量請(qǐng)使用 %%variable 而不要用 %variable。變量名稱是區(qū)分大小寫(xiě)的,所以 %i 不同于 %I三、bat批處理例子
批處理的作用?
簡(jiǎn)單的說(shuō),批處理的作用就是自動(dòng)的連續(xù)執(zhí)行多條命令。?
這里先講一個(gè)最簡(jiǎn)單的應(yīng)用:在啟動(dòng)wps軟件時(shí),每次都必須執(zhí)行(>前面內(nèi)容表示DOS提示符):?
C:\>cd wps C:\WPS>spdos C:\WPS>py C:\WPS>wbx C:\WPS>wps如果每次用WPS之前都這樣執(zhí)行一遍,您是不是覺(jué)得很麻煩呢??
好了,用批處理,就可以實(shí)現(xiàn)將這些麻煩的操作簡(jiǎn)單化,首先我們編寫(xiě)一個(gè)runwps.bat批處理文件,內(nèi)容如下:?
@echo off c: cd\wps spdos py wbx wps cd\以后,我們每次進(jìn)入wps,只需要運(yùn)行runwps這個(gè)批處理文件即可。?
四、bat批處理實(shí)現(xiàn)啟動(dòng)mongodb腳本
mongodb安裝bin路徑D:\Program Files\MongoDB\bin,mongodb中data數(shù)據(jù)文件夾D:\Program Files\MongoDB\data
我們?cè)赾md命令窗口應(yīng)該是這樣,啟動(dòng)mongodb數(shù)據(jù)庫(kù)
cd D:\Program Files\MongoDB\bin mongod --depath "D:\Program Files\MongoDB\data"但是每次讓我們?nèi)デ眠@些的時(shí)候,確實(shí)讓我們很麻煩,那我們可以運(yùn)用bat的只是,做這樣的bat文件:
::表示在此語(yǔ)句后所有運(yùn)行的命令都不顯示命令行本身 @echo off echo 你好 ::進(jìn)入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" ::寫(xiě)入b.txt文件::dir D:\Program Files\MongoDB\bin> b.txt::pause通過(guò)這個(gè)文件,那我們每次要開(kāi)啟mongodb服務(wù)時(shí),點(diǎn)擊這個(gè)bat文件,就可以了。
?
參考資料:
bat文件 ??http://baike.baidu.com/view/1024624.htm
BAT文件語(yǔ)法和技巧(bat文件的編寫(xiě)及使用)
BAT文件語(yǔ)法和技巧bat文件的編寫(xiě)及使用
轉(zhuǎn)載于:https://www.cnblogs.com/pingfan1990/p/4558630.html
總結(jié)
以上是生活随笔為你收集整理的利用bat批处理做启动mongodb脚本的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: activity或者flowable会签
- 下一篇: Cordys BOP 4平台开发入门实战