中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 适用于读取名称的横向列表批处理
作者:
标题: 适用于读取名称的横向列表批处理 上一主题 | 下一主题
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『楼 主』:  适用于读取名称的横向列表批处理 使用 LLM 解释/回答一下

列表排列方式为一行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


2006-12-30 09:41
查看资料  发短消息  网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 2 楼』:   使用 LLM 解释/回答一下

  这个代码和那个通讯录有关系吧?暂时还不明白具体有什么作用。




尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-12-30 10:27
查看资料  发短消息  网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 3 楼』:   使用 LLM 解释/回答一下

差不多,这是做另外一个批处理时编写的(人数不少,强度不小^_^|||),可以5个一行整版排列名字,方便查看(纯CMD的),可以直接按编号选取;以前只能一个名字一行,数量多就太长了。

Last edited by zh159 on 2006-12-29 at 09:42 PM ]


2006-12-30 10:41
查看资料  发短消息  网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 4 楼』:   使用 LLM 解释/回答一下


这是做另外一个批处理时编写的(人数不少,强度不小^_^|||)

推荐用vbs了


2006-12-30 13:17
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 5 楼』:   使用 LLM 解释/回答一下

也想用VBS,不过不会-_-|||
而且好像VBS没有合适的多选界面
用IE界面当然比较方便,不过通用性不够强


2006-12-30 14:17
查看资料  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: