![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-08 17:19 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 又出文本输出加分题了(新手进): |
| 可打印版本 2,417 / 34 |
| 第1楼 bat-zw | 发表于 2008-05-24 00:42 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
又出文本输出加分题了(新手进): 如a.txt:
问题一:写出生成文本a.txt的批处理(模式一样,每行13个随机字符,共20行,纯数字行是因题目要求加的不要生成) 问题二:用批处理找出a.txt中不含数字的行并输出 问题三:用批处理输出a.txt所有的行(但不输出每行的数字),如下: 要求:不生成任何其它(除a.txt外)的临时文件。 加分标准:第一个全写出来的加15分 其它酌情加分 [ Last edited by zw19750516 on 2008-5-24 at 01:26 AM ] |
|
| 第2楼 26933062 | 发表于 2008-05-24 00:44 |
| 银牌会员 发帖 879 积分 2,268 | |
|
问题一没看懂。
|
|
| 第3楼 26933062 | 发表于 2008-05-24 00:53 |
| 银牌会员 发帖 879 积分 2,268 | |
|
提议:样本文件中应该再加几行纯数字的行,给问题三增加点难度。
|
|
| 第4楼 pusofalse | 发表于 2008-05-24 02:25 |
| 银牌会员 发帖 646 积分 1,604 | |
|
不输出每行的数字。。。 貌似又要用到字符截取和移位了 感觉效率相当低下~
|
|
| 第5楼 pusofalse | 发表于 2008-05-24 02:33 |
| 银牌会员 发帖 646 积分 1,604 | |
|
随机生成吗?~ 我生成的每一行中都有数字 ,那问题2不就没法做了~
|
|
| 第6楼 pusofalse | 发表于 2008-05-24 02:35 |
| 银牌会员 发帖 646 积分 1,604 | |
|
1
|
|
| 第7楼 pusofalse | 发表于 2008-05-24 02:38 |
| 银牌会员 发帖 646 积分 1,604 | |
|
2。。。
自己手动修改a.txt 使其中几行没有数字。。- -|| for /f "delims=" %%a in (a.txt) do echo %%a|findstr /v "[0-9]" pause |
|
| 第8楼 bat-zw | 发表于 2008-05-24 02:45 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
第二、三题用我的例文就是的
|
|
| 第9楼 pusofalse | 发表于 2008-05-24 02:47 |
| 银牌会员 发帖 646 积分 1,604 | |
|
3
@echo off&setlocal enabledelayedexpansion for /f "delims=" %%a in ('findstr /n .* a.txt') do ( set str=%%a set str=!str:*:=! set string= call :lp echo.!string! ) pause>nul&goto :eof :lp if defined str ( set var=!str:~,1! for /l %%a in (0 1 9) do if !var! equ %%a set "var=" set string=!string!!var! set str=!str:~1! goto lp ) |
|
| 第10楼 bat-zw | 发表于 2008-05-24 02:47 |
| 金牌会员 发帖 1,276 积分 3,105 | |
Originally posted by pusofalse at 2008-5-24 02:38: 效率是大问题,请修改。 |
|
| 第11楼 bat-zw | 发表于 2008-05-24 02:49 |
| 金牌会员 发帖 1,276 积分 3,105 | |
Originally posted by pusofalse at 2008-5-24 02:47: 代码复杂,效率低,改!多用if少用findstr. [ Last edited by zw19750516 on 2008-5-24 at 02:51 AM ] |
|
| 第12楼 pusofalse | 发表于 2008-05-24 02:50 |
| 银牌会员 发帖 646 积分 1,604 | |
|
findstr /v "[0-9]" a.txt
整天都在用for 都思维定向了~~ 原来一句就OK |
|
| 第13楼 bat-zw | 发表于 2008-05-24 02:52 |
| 金牌会员 发帖 1,276 积分 3,105 | |
Originally posted by pusofalse at 2008-5-24 02:50: 想想除了findstr还有什么别的不。不要还泡在findstr里。 |
|
| 第14楼 26933062 | 发表于 2008-05-24 02:53 |
| 银牌会员 发帖 879 积分 2,268 | |
Originally posted by pusofalse at 2008-5-24 02:50: 哈哈,终于开窍了。。。 |
|
| 第15楼 26933062 | 发表于 2008-05-24 02:54 |
| 银牌会员 发帖 879 积分 2,268 | |
Originally posted by zw19750516 at 2008-5-24 02:52: findstr 是bat中唯一的正则,用的好,大有用处,并不是只要使用了findstr就会效率低的。关键看你怎么用。。。 |
|
| 1 2 3 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |