Bat批處理腳本程序 For

原創

【choice】
選擇命令,比如: choice /c:01234 /n /m:"請選擇要練習的內容:"  (/c:選項內容,/n隱藏選項 /m:提示內容)
用%errorlevel%來取用戶的選擇,第一個鍵的返回值爲1,第二個鍵的返回值爲2,第三個鍵的返回值爲3,依此類推。
不清楚參數的話可以  choice /?  查看幫助 


【for】
for命令是一個比較複雜的命令,主要用於參數在指定的範圍內循環執行命令。有四種參數(/D /R /L /F)
for循環的變量寫法: %%a 不能是%%aa 只能是單英文字母
for如果沒有參數開關,就相當於枚舉括號內的內容, 讓變量依次等於爸爸,媽媽,哥哥...
for %%a in (爸爸,媽媽,哥哥,180,70) do echo %%a


◆  for /L  ◆   For循環
格式:
for /L 變量 IN (開始數,遞增數,結束數) DO 命令  
用法:相當於其他語言的For循環。


for /L  %%i in (1,2,10) do (
  echo %%i
)

◆  for /f  ◆   解析文本
格式:
for /f "options" 變量 IN (file-set) DO command [command-parameters]
for /f "options" 變量 IN ("string") DO command [command-parameters]
for /f "options" 變量 IN ('command') DO command [command-parameters]
用法:常用於文本信息編輯,如查詢、提取、替換。
eol=#          忽略以#開頭的行
skip=1         從第一行之後開始讀取
delims=,       以 , 作爲分割符(可以多個,比如delims=,。! 如果以空格作分隔符要寫在最後留個空格)
tokens=1,2,3   取第一列,第二列,第三列(%%a %%b %%c)

for /f "eol=# skip=1 tokens=1,2,3,4 delims= "  %%a in (F:\學生表.txt) do ( 
 echo 姓名: %%a 年齡:%%b 身高:%%c 體重:%%d
)

//學生表.txt  
[這一行因爲參數skip=1,從第一行後讀取,所以無效]
張三 18 180 60KG
李四 15 150 65KG
王五 33 155 77KG
#趙六 16 183 66KG
#鄒八 22 167 80KG
方九 28 173 50KG
 
◆  for /d  ◆   遍歷目錄
格式:
for /d 變量 IN (路徑) DO 命令  
用法:只搜索目錄,不搜索文件,不搜索子目錄 * 星號是通配符 ?問號是字母長度

for /d  %%a in (F:\*件夾) do ( 
 echo %%a
)

◆  for /r  ◆   遞歸文件 
格式:
for /r 路徑 變量 IN (文件類型) DO 命令  
用法:只搜索文件,不搜索目錄,搜索子文件 * 星號是通配符 ?問號是字母長度

for /r F:\ %%a in (*.exe) do ( 
 echo %%a
)


@echo off

:StartStudy
::清理屏幕
cls
echo.
echo  1.關閉Bat
echo  2.for 無參
echo  3.for /L For循環
echo  4.for /F 處理文本
echo  5.for /D 遍歷目錄
echo  6.for /R 遍歷文件
echo.
::使用choice來做選項(第一個選項errorlevel是1)
choice /c:123456 /n /m:"請選擇要練習的內容:"

if %errorlevel%==1 goto end 
if %errorlevel%==2 goto a
if %errorlevel%==3 goto b
if %errorlevel%==4 goto c
if %errorlevel%==5 goto d
if %errorlevel%==6 goto e

::1.關閉Bat
:end
exit

::2.for 無參
:a
for %%a in (爸爸,媽媽,哥哥,180,70) do echo %%a
pause
goto StartStudy

::3.for /L 
:b
for /L  %%i in (1,2,10) do ( 
 echo %%i
)
pause
goto StartStudy

::4.for /F 
:c
for /f "eol=# skip=1 tokens=1,2,3,4 delims= "  %%a in (F:\學生表.txt) do ( 
 echo 姓名: %%a 年齡:%%b 身高:%%c 體重:%%d
)
pause
goto StartStudy

::5.for /D
:d
echo F盤下以"件夾"結尾的文件夾:
for /d  %%a in (F:\*件夾) do ( 
 echo %%a
)

echo. & echo.

echo Bat腳本所在路徑下1--3個字母的文件夾:
for /d  %%a in (???) do (
 echo %%a
)

::6.for /R
:e
echo F盤下所有的exe程序:
rem for /r F:\ %%a in (*.exe) do ( 
rem echo %%a
rem )

echo. & echo.

echo Bat腳本所在路徑下1--3個字母的exe文件:
for /r  %%a in (???.bat) do ( 
 echo %%a
)


pause
goto StartStudy

腳本下載:

http://download.csdn.net/download/u012322710/10190451


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章