Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

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

115 views
Skip to first unread message

None

unread,
Mar 8, 2007, 11:56:52 PM3/8/07
to
希望執行的動作如下
迴圈執行的次數由檔案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

睡魔

unread,
Mar 9, 2007, 1:28:49 AM3/9/07
to
※ 引述《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 new messages