中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 17:06
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » 【出题】给定一个文本,右对齐原样输出
可打印版本  809 / 10
第1楼 plp626 发表于 2008-05-21 19:13
银牌会员 发帖 1,020 积分 2,278
【出题】给定一个文本,右对齐原样输出
这段时间批处理室没人气,希望大家踊跃参与。

要求:
只允许用bat,
可以处理特殊字符,
效率尽量高,



文本如下:
第2楼 pusofalse 发表于 2008-05-21 19:18
银牌会员 发帖 646 积分 1,604
刚看到题目,就想起得找你以前发的关于函数的帖子。。。否则这题没门
第3楼 plp626 发表于 2008-05-21 19:21
银牌会员 发帖 1,020 积分 2,278
我给的条件还是很宽的,只要是纯P,生成临时文件也可以(只要效率高)
怎么能没门呢,可以借鉴原样输出的帖子加以改进啊
第4楼 plp626 发表于 2008-05-21 19:27
银牌会员 发帖 1,020 积分 2,278
没人吗?

有个findstr /o参数 打印字符偏移量
大家想想也可以借鉴,方法总是有的,
就看能否高效地实现?
第5楼 26933062 发表于 2008-05-21 19:54
银牌会员 发帖 879 积分 2,268
我来抛砖,
代码够臃肿的,
第6楼 bat-zw 发表于 2008-05-21 20:06
金牌会员 发帖 1,276 积分 3,105
先占个地:
真是高难度的,亏兄弟想得出啊,呵呵。
想了好久,终于把问题解决在10楼。。。

[ Last edited by zw19750516 on 2008-5-21 at 10:08 PM ]
第7楼 plp626 发表于 2008-05-21 20:13
银牌会员 发帖 1,020 积分 2,278
Originally posted by 26933062 at 2008-5-21 07:54 PM:
我来抛砖,
代码够臃肿的,
第8楼 bat-zw 发表于 2008-05-21 20:52
金牌会员 发帖 1,276 积分 3,105
有两行有点问题,先发了:


[ Last edited by zw19750516 on 2008-5-21 at 09:38 PM ]
第9楼 metoo 发表于 2008-05-21 21:35
初级用户 发帖 93 积分 195
Originally posted by zw19750516 at 2008-5-21 08:52 PM:
@echo off
for /f "tokens=*" %%i in ('findstr /n .* a.txt') do (
set str=%%i@
setlocal enabledelayedexpansion
set str=!str:*:=!
call :lp
echo.!str!
e ...

和我的代码思想基本差不多。。。不过汉字占两个位置,有汉字的行会出现对不起的状况。。。想尝试用findstr正则来抽出行内的汉字字数。。但是貌似不怎么会用(觉得正则不强大- -! 明显差于perl)

附偶的代码- -


我晕。。陷阱真多。。还有带空格的空行。。懒得修改代码了。。睡觉

[ Last edited by metoo on 2008-5-21 at 09:38 PM ]
第10楼 bat-zw 发表于 2008-05-21 22:06
金牌会员 发帖 1,276 积分 3,105
问题得到最终解决:
第11楼 bat-zw 发表于 2008-05-22 00:20
金牌会员 发帖 1,276 积分 3,105
修改到兼容文本空格:
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023