解決:
@ECHO off &SETLOCAL EnableDelayedExpansion
:vars
SET "fC=a"
SET "sC=b"
SET "toEcho="
PAUSE
FOR /L %%f IN (1, 1, 3) DO (
IF %%f == 1 SET "toEcho=!toEcho!%fC%"
IF %%f == 2 SET "toEcho=!toEcho!%fC%"
IF %%f == 3 SET "toEcho=!toEcho!%fC%"
)
FOR /L %%f IN (4, 1, 6) DO (
IF %%f == 4 SET "toEcho=!toEcho!%sC%"
IF %%f == 5 SET "toEcho=!toEcho!%sC%"
IF %%f == 6 SET "toEcho=!toEcho!%sC%"
)
ECHO %toEcho%
GOTO end
:end
PAUSE
実際のプロジェクトはバーでした。完了レベルのパーセンテージをパラメーターとしてラベルに与えると、完全な読み込みバーになります!
最初のパラメーターは、どのように大きくなければならないかという情報です。
:bar size loaded
CLS
SET /A "toDo=(%~1*%~2)/100"
SET /A "remains=%~1-%toDo%"
ECHO %~2%%
SET "bar_up=%corUL%"
FOR /L %%i IN (1, 1, %~1) DO SET "bar_up=!bar_up!%linHo%"
SET "bar_up=!bar_up!%corUR%
ECHO %bar_up%
SET "bar_ce=%linVe%"
FOR /L %%i IN (1, 1, %toDo%) DO SET "bar_ce=!bar_ce!%barDo%"
FOR /L %%i IN (1, 1, %remains%) DO SET "bar_ce=!bar_ce!%barSp%"
SET "bar_ce=!bar_ce!%linVe%
ECHO %bar_ce%
SET "bar_do=%corDL%"
FOR /L %%i IN (1, 1, %~1) DO SET "bar_do=!bar_do!%linHo%"
SET "bar_do=!bar_do!%corDR%
ECHO %bar_do%
EXIT /B
その他の変数は次のとおりです。
corUL = 左上隅の文字
corUR = 右上隅の文字
corDL = 左下隅の文字
corDR = 右下隅の文字
linHo = 横線文字
linVe = 縦線の文字
barDo = バーの完了部分を示す文字
barSp = バーの空白部分を示す文字