用了windows系統這麼多年了,對bat也不是很瞭解。最近研究了一下bat的用法。這裏就大概列舉一下本身的用法javascript
參考網址php
echo咱們能夠理解成程序中的輸出,和咱們Java的System.out.println是一個效果。java
關於echo有兩種設置 echo on 和echo off.前者是在此命令以後的命令都會顯示輸出,後者則不顯示後面的執行命令了程序員
@echo off
redis-server.exe redis.conf
@pause
Java或者其餘語言中都是能夠進行參數傳遞的,這樣能夠增長各個模塊的聯繫,bat也是能夠傳遞參數的。他的傳遞參數的方法比較特別,不須要指定參數的類型。只是按參數的順序來獲取的。分別用%0~%9來獲取參數。這樣也就是說參數只能是9個。其中%0表示的bat方法的自己。%1~%9表示第幾個參數。redis
新建一個method.bat,內容爲echo %1。咱們新開cmd窗口。首先cd到method.bat所在的文件目錄中。執行語句 method.bat helloworld 程序結果 爲 helloworld。windows
if 就是咱們用到的程序判斷,根據條件執行不一樣的語句。其中的基本格式以下markdown
if 「%1」==」test」 echo test測試
上面的代碼執行的效果就是輸入了test的參數就會輸出test 結果,輸入的能夠是「 hello world 」 ,在程序中的參數就是帶引號的參數。ui
if [not] exist 判斷不存在是執行的語句spa
if exist 判斷存在時存在的語句
if errorlevel num 根據程序的返回值判斷
goto zxh
:zxh
echo 跳轉啦
這個選擇項用的挺多的,由於考慮程序的大衆化,咱們程序正常會給用戶提供選擇,這裏就須要用到了choice了。
關於choice中有哪些參數,咱們能夠打開cmd窗口執行 choice /?
上面的一張圖片已經解釋了choice的選項說明,咱們有設麼格式的提示選項上面的圖片事列已經列出了五種類型的。咱們根據不一樣需求些不一樣的bat.
其中在/c後面的提示列表的編號咱們一次是1,2,3….N。在咱們根據errorlevel的值判斷的時候必須從高到底好比以下一段代碼纔有效
@echo off
choice /C dme /M "defrag,mem,end"
if errorlevel 3 goto end
if errorlevel 2 goto mem
if errorlevel 1 goto defrag
:defrag
echo I am defrag
goto end
:mem
echo I am mem
goto end
:end
echo good bye
pause
FOR %%variable IN (set) DO command [command-parameters]
for(Object obj in List<Object>){
//執行操做
}
command parameters 是咱們執行操做的時候用到的參數正常就是variable(obj)