Google 網路論壇不再支援新的 Usenet 貼文或訂閱項目,但過往內容仍可供查看。

[問題] Windows批次檔內迴圈做變數累加的動作

瀏覽次數:115 次
跳到第一則未讀訊息

None

未讀,
2007年3月8日 晚上11:56:522007/3/8
收件者:
希望執行的動作如下
迴圈執行的次數由檔案list的行數所決定
在每個迴圈內將變數i做累加一的動作

所以寫了下列的程式


@echo off
set /a i=0
for /F %%f in ('type list') do (
set /a i=i+1
echo %i%
)


/////////
例如list的檔案內容如下
//////////////
PE.java
ScheduledTask.java
Server.java
_Main.java
dfcv.java
test.java
////////////
共6行
但執行該批次檔卻列出下列的結果


///////////
0
0
0
0
0
0
/////////
6個0
....

請問有哪位好心人知道如何改嗎
感謝


--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.18.62.69

睡魔

未讀,
2007年3月9日 凌晨1:28:492007/3/9
收件者:
※ 引述《mathan (None)》之銘言:
: 希望執行的動作如下

: 迴圈執行的次數由檔案list的行數所決定
: 在每個迴圈內將變數i做累加一的動作
: 所以寫了下列的程式
: @echo off
: set /a i=0
: for /F %%f in ('type list') do (
: set /a i=i+1
: echo %i%
echo !i!
: )
: 請問有哪位好心人知道如何改嗎
: 感謝
請先使用"cmd /v"開啟擴充功能, 詳情請看"set /?"

這是因為"echo %i%"被展開時 i 還未被修改的原故...

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 202.134.126.84

0 則新訊息