列表排列方式为一行5个(XPSP2测试通过)
列表.db(限制:名称必须是固定长度,不够的可加空格,这个是在输入的时候限制好的,目的是为了读取方便)
:名称列表
========================================
姓名1::
姓名:
......
-End-
姓名2::
姓名:
......
-End-
姓名3::
姓名:
......
-End-
姓名4::
姓名:
......
-End-
姓名5::
姓名:
......
-End-
姓名6::
姓名:
......
-End-
姓名7::
姓名:
......
-End-
姓名8::
姓名:
.......
-End-
横向名称列表批处理
@echo off
title 横向名称列表
setlocal EnableDelayedExpansion
set Num=1
for /f "skip=3 tokens=1,2* delims=:" %%i in (列表.db) do (
set %%i!Num!=%%j
if "%%i" == "-End-" set /a Num+=1
)
set /a Num-=1
cls
echo.
echo. 横向名称列表
echo. ----------------------------------------------------------------------------
for /l %%n in (1,1,%Num%) do (
set /a NumList=%%n%%5
if "!NumList!" == "0" call :List %%n)
set /a NumEnd=%Num%%%5
if "%NumEnd%" == "0" goto End
set /p=echo. <nul>ListEnd.bat
set EndN=
call :ListEnd
set /a Num=%Num%/5*5
for /l %%n in (1,1,5) do set /a Numn%%n=%Num%+%%n
for %%n in (Numn1 Numn2 Numn3 Numn4 Numn5) do if !%%n! LSS 10 (set %%n= !%%n!) else set %%n=!%%n!
call ListEnd.bat
del ListEnd.bat
:End
echo. ----------------------------------------------------------------------------
pause
exit
:List
set Numn=4
for /l %%n in (1,1,5) do set /a Numn%%n=%1-!Numn!&&set /a Numn-=1
for %%n in (Numn1 Numn2 Numn3 Numn4 Numn5) do if !%%n! LSS 10 (set %%n= !%%n!) else set %%n=!%%n!
echo. %Numn1%: !姓名%Numn1: =%! ∣%Numn2%: !姓名%Numn2: =%! ∣%Numn3%: !姓名%Numn3: =%! ∣%Numn4%: !姓名%Numn4: =%! ∣%Numn5%: !姓名%Numn5: =%!
goto :eof
:ListEnd
set /a EndN+=1
set Numn=Numn%EndN%
set /p=%%%Numn%%%: ^^!姓名%%%Numn%: =%%^^! <nul>>ListEnd.bat
if "%NumEnd%" == "1" (goto :eof) else set /p=∣<nul>>ListEnd.bat
set /a NumEnd-=1
goto ListEnd