2017-03-20 5 views
0

私のコードは最初の部分が完全に実行されますが、2番目の部分は空白として表示されます。なぜなら、なぜ同じフォーマットであるのかわからないのですが、readprofilesの部分を変数として働かせることは可能でしょうか?はバッチファイルを読み込むのに役立つ必要がありますが、最初の部分では奇妙にうまく動作します

プログラムの目的:選択する番号のついた選択肢と共にプロファイルとしてディレクトリを列挙する。基本的にメニュー。

@echo off 
setlocal enabledelayedexpansion 
set Counter=1 
for /f "DELIMS=" %%i in (test.txt) do (
    set "Line_!Counter!=%%i" 
    set /a Counter+=1 
) 
set /a NumLines=Counter - 1 

:: this part is a test 
echo %Line_1% 
echo %Line_2% 
echo %Line_3% 
echo %Line_4% 
echo %Line_5% 
echo %Line_6% 
:: end test 

set Counter=1 

:readprofiles 
if %Counter%==%NumLines% goto pause 
echo %Counter%. %Line_!Counter!% 
set /a Counter+=1 
goto readprofiles 

:pause 
pause 
+1

'エコー%カウンター%。 !Line_%カウンタ%! ' – JosefZ

答えて

0
@echo off 
setlocal enabledelayedexpansion 
set Counter=0 
for /f "DELIMS=" %%i in (test.txt) do (
    set /a Counter+=1 
    set "Line_!Counter!=%%i" 
) 
For /L %%C in (1,1,%Counter%) Do echo %%C. !Line_%%C! 
Pause 
関連する問題