2017-11-06 6 views
1

以下のスクリプトでは、テキストファイルの内容をフレンド番号に設定しようとしています。問題は、%numb%が私が思うように増加していないということです。どのようにそれを行うにはどのようなアイデア?私は研究を試みたが、For Eachスクリプトについては、スクリプト内で数字を増やし、それぞれを増やすために何をすべきかを知るには十分ではない。ありがとう!これに増分番号を追加する方法バッチスクリプトごとに?

@echo off 
set numb=1 
for /F "tokens=*" %%A in (list.txt) do (
    echo Doing junk with %%A and setting it as friend %numb% 
    set Friend%numb%=%%A 
    set /a numb=%numb%+1 
) 
set /a %numb%=%numb%-1 
echo there are %numb% Friends 
pause 

答えて

1

delayed expansionが必要です。
私はあなたのカウンターをちょっと変えて、別のインクリメント方法を実装しました。

@echo off 
setlocal enabledelayedexpansion 
set numb=0 
for /F "tokens=*" %%A in (list.txt) do (
    set /a numb+=1 
    echo Doing junk with %%A and setting it as friend %numb% 
    set Friend!numb!=%%A 
) 
echo there are %numb% Friends: 
pause 
+0

アハハシのおかげで@Stephan!忘れた+ =バッチではオプションでした! –

+0

エコーの前にカウンタがインクリメントされ、 'FOR'の内部にセットされますか? – Squashman

+0

ええ、バッチ ';-)'ではあまりにも現代的すぎるようです。おかげで@スカッシュマン:それは私の意図だった - 変更されました。 – Stephan

関連する問題