bat迴圈中變數自增問題

2021-07-10 17:17:28 字數 600 閱讀 6507

在迴圈中變數自增後,因為批處理執行命令的機制,直到迴圈結束該變數值才能正確列印顯示出來。

例子1:

@echo off

set /a a=2

for /l %%c in (1 1 10) do (

set /a a+=1

echo %a%

)echo %a%

pause

結果:迴圈中一直是2,結束後是12

使用setlocal enabledelayedexpansion後可以在迴圈中正確列印顯示變數的值,需要用!!括起來

例子2@echo off

setlocal enabledelayedexpansion

set /a a=2

for /l %%c in (1 1 10) do (

set /a a+=1

echo !a!

)echo %a%

pause

結果:符合預期

for 迴圈中的 i 變數取值問題

1 如何點選某乙個 li 的時候 alert 輸出其index?window.onload function 解析 因為在for迴圈裡面指定給olis i onclick的事件處理程式,也就是onclick那個匿名函式是在for迴圈執行完成後 使用者點選時 才被呼叫的。而呼叫時,需要對變數i求值,解...

shell迴圈中變數的作用域問題

最近實現了乙個shell指令碼,功能簡單來說就是從檔案中按行讀取然後將所有行拼接成一行寫入乙個檔案,關鍵 如下 path all cat 1 while read line doif path all then path all line else path all path all,line fi...

sql,MySQL,Oracle設定自增變數的彙總

1 sql中設定自增變數用identity關鍵字,該關鍵字可以方便的指定從什麼數開始,增幅是多少。如 create table test id int identity 100,10 primary key not null,name varchar 10 2 mysql中設定自增變數用auto i...