批處理 迴圈

2021-08-20 22:40:16 字數 1366 閱讀 4046

基本格式: for / %%變數 in (集) do 命令

注:在命令列中直接使用時,變數前是乙個百分號

for /d %%variable in (set) do command

例1: 輸出指定目錄下的所有資料夾

for /d %%a in (c:\users\*.*) do echo %%a
例2:輸出當前目錄下資料夾名為1-3個字元的目錄

for /d %%i in (window?) do @echo %%i
例1: 在當前目錄及子目錄中建立內容為abc的abc.txt檔案

for /r . %%a

in (abc.txt) do

echo abc>abc.txt

例2:刪除例1中建立的檔案

for /r . %a

in (*.txt) do del /q %a

for /l %%a in (1,1,5) echo %%a
for /f "tokens=1-3 delims=,"

%%a in (csvformat.csv) do echo %%a %%b %%c

例2:輸出字串中key的值

for /f "tokens=2 delims=="

%%a in ("key=values") do echo %%a

例3:輸出本機ipv4 ip

for /f "delims="

%%a in ('ipconfig /all ^|findstr ipv4') do echo %%a

在很多場合,需要在迴圈中使用陣列。這樣的狀況下,大多場合需要設定本地延遲擴充套件,但是,在for迴圈命令中!array[%index%]!格式是不能被識別的。

要在迴圈中使用陣列的場合,可以利用if+goto

例:初始化陣列,並輸出值

@echo off

setlocal enabledelayedexpansion

for /l %%a in (1,1,5) do (set array[%%a]=%%a)

set loopcnt=5

set index=1

:beginloop

if %index% gtr %loopcnt% goto endloop

echo !array[%index%]!

set /a index=%index%+1

goto beginloop

:endloop

windows批處理for迴圈用法

windows批處理for迴圈用法 注意 空格 符號 用於將一行寫不下的windows bat批處理程式分成多行完成。for l i in 1,1,5 do echo i echo done 1 for迴圈 for迴圈的使用有多種,具本可在cmd中鍵入for 檢視幫助檔案。但以下三種格式在實際使用中...

windows批處理for迴圈的坑

太長不看版 windows批處理的for,可以使用tokens和delims來讀出指定列的內容,但是,當分隔符緊緊相連的時候,token會按順序取下乙個不是分隔符的字元作為內容,而不是取null。詳情 準備乙個測試檔案,叫test.txt如下 1,2,3,4,5 1,2,3,4,5 1,2,3,4,...

Windows bat批處理迴圈輸出小時分鐘

1.批處理原始碼 echo off rem 開啟延遲擴充套件設定 setlocal enabledelayedexpansion rem 刪除上次生成的舊檔案 del out.txt rem 迴圈輸出小時 for l i in 0,1,24 do rem 各位數,前面補0 if i lss 10 s...