![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 10:54 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 同行显示多列文本 |
| 可打印版本 919 / 2 |
| 第1楼 f6fly | 发表于 2010-04-21 18:15 |
| 初级用户 发帖 13 积分 123 | |
|
同行显示多列文本 有一个1.txt文件内容如下:
1:北京市 bj001-004 2:天津市 tj003-003 3:上海市 4:重庆市 5:河北省 6:山西省 7:辽宁省 8:吉林省 9:黑龙江省 10:江苏省 11:浙江省 12:安徽省 13:福建省 14:江西省 15:山东省 16:河南省 17:湖北省 18:湖南省 现在想让它在屏幕这样显示,并且当用户输入它前面的序号时再显示相应的地名。如敲入18 则显示 湖南省 1:北京市 2:天津市 3:上海市 4:重庆市 5:河北省 6:山西省 7:辽宁省 8:吉林省 9:黑龙江省 10:江苏省 11:浙江省 12:安徽省 13:福建省 14:江西省 15:山东省 16:河南省 17:湖北省 18:湖南省 请问高手们用批处理该怎么写呢? |
|
| 第2楼 f6fly | 发表于 2010-04-21 19:08 |
| 初级用户 发帖 13 积分 123 | |
|
:Start
@echo off&setlocal enabledelayedexpansion&Title cls set a=0 echo. echo. for /F "tokens=2 delims=." %%i in (1.txt) do ( set/a a+=1 set /a m=!a! if !m!==1 set n= set /p=[!a!] %%i<nul set /a l+=1 if !l!==3 set l=1 ) echo. echo. ************************************* set o= set/p o= 请输入序号按回车键确认([]内数字): if not defined test_%o% echo.&echo. 输入错误,请按任意键继续,或按 Ctrl+C 终止程序!&goto end :end 这样子不行啊,有没有高手帮忙看看呀 |
|
| 第3楼 Hanyeguxing | 发表于 2010-04-21 19:23 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
|
set/p=%%i:%%j <nul中间的连续空格为一个制表符 [ Last edited by Hanyeguxing on 2010-4-21 at 19:25 ] |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |