中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-18 14:26
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何实现 选项内容,标号从文本文件中获取 查看 3,220 回复 8
楼 主 如何实现 选项内容,标号从文本文件中获取 发表于 2006-12-13 09:46 ·  中国 北京 鹏博士BGP
初级用户
积分 114
发帖 47
注册 2006-11-20 04:17
UID 71105
性别 男
状态 离线
echo ╭────────╮
echo ╭─────┤ 选项 ├─────────╮
echo │ ╰────────╯ │
echo │ 1. ++++++++ │
echo │ │
echo │ 2. fdfdfd │
echo │ │
echo │ 3. gfgfg │
echo │ │
echo ╰──────────────────────────╯
echo.

如何实现 选项内容,标号从同目录下的文本文件中获取,

文本文件格式:

1. ++++++++
2. fdfdfd
3. gfgfg
2 发表于 2006-12-13 10:08 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线

  可以实现,但是读取之后不一定能保证是一个矩形框。
3 发表于 2006-12-13 11:30 ·  中国 北京 朝阳区 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
UID 63324
性别 男
状态 离线

@echo %dbg% off && setlocal enabledelayedexpansion

:: 全长: 60
:: 菜单偏移量: 18
:: 提取: ~0,59 (最后一位补“│”字符)
:: 公式: 补 │


set "space= "
set "vol= │ "
echo ╭────────╮
echo ╭─────┤ 选项 ├─────────╮
echo │ ╰────────╯ │

for /f "tokens=1* delims=" %%i in (menu.txt) do (
set a=%vol%%%i%space%
echo !a:~0,59!│
echo │ │
)
echo │ │
echo │ │
echo │ │
echo ╰────────────────────────╯
echo.



贴上来格式看上去很乱,做好的源码和菜单文件压缩成附件上传了,方便楼主调试:)
本帖最近评分记录 (共 4 条) 点击查看详情
评分人分数时间
lxmxn +5 2006-12-14 00:51
ccwan +5 2006-12-14 00:52
a9319751 +3 2006-12-14 01:06
hxuan999 +2 2006-12-14 02:33
附件
menu.rar (506 bytes, 下载附件所需积分 1 点, 下载次数: 47)
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
4 发表于 2006-12-14 00:51 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线

  Redtek 兄写的精彩啊。加分~~
5 发表于 2006-12-14 00:53 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
UID 63486
来自 河北廊坊
状态 离线
抗议!偶加分太受限制了。
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
6 发表于 2006-12-14 02:32 ·  中国 浙江 宁波 鹏博士宽带
荣誉版主
★★★
积分 1,338
发帖 356
注册 2005-07-15 12:09
UID 40733
性别 男
状态 离线
RE redtek 兄
发帖时选择字体为 “宋体” 可以实现等宽显示了。
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
redtek +5 2006-12-14 21:43
  ☆开始\运行 (WIN+R)☆
%ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul

7 发表于 2006-12-14 05:07 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,179
发帖 442
注册 2006-09-09 22:47
UID 62249
状态 离线
Originally posted by redtek at 2006-12-13 11:30:

@echo %dbg% off && setlocal enabledelayedexpansion

:: 全长: 60
:: 菜单偏移量: 18
:: 提取: ~0,59 (最后一位补“│”字符)
:: 公式 ...


建议兄再改下代码。测试兄的代码,如果使用原菜单memu.txt中的内容,菜单不是乱的,如果我修改menu.txt中的内容则菜单就变了,关键是最后的“|”字符错位,如果能实现以下功能则爽:
1。让用户随意自定义memu.txt中的内容,
2。把用户定义的菜单项目保存到变量中以便实现跳转到对应的菜单程序。
8 发表于 2006-12-14 05:24 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
UID 44210
状态 离线
对于含有汉字的用以上方法就会出现最后的“|”字符错位

所以最好能算出字节

[ Last edited by zh159 on 2006-12-13 at 04:25 PM ]
9 发表于 2008-06-01 10:14 ·  中国 山东 济南 联通
新手上路
积分 2
发帖 1
注册 2008-05-31 16:32
UID 120204
性别 男
状态 离线
不错
论坛跳转: