![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-11 13:04 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]高手新手都进来看看,高难度的for筛选 |
| 可打印版本 750 / 6 |
| 第1楼 terrytong | 发表于 2008-09-27 11:18 |
| 中级用户 发帖 115 积分 240 | |
|
[求助]高手新手都进来看看,高难度的for筛选 我有个test.txt,里面内容:
1 010283 --- 0.627 2.271 0.016 === 0.6217 1.75% 工程师 历史表现 2 009730 中国 0.8954 2.1154 0.0202 2.31% 0.8885 1.52% 采购员 历史表现 论 3 008655 --- 2.287 2.407 --- 2.28% 2.2754 1.76% 工程师 历史表现 9 014743 === 0.627 2.271 0.016 --- 0.6217 1.75% 采购员 历史表现 10 010282 烟酒经销商 0.8954 --- --- --- 0.8885 1.52% 采购员 历史表现 14 008652 奥大利亚 0.88 2.05 === 2.21% 0.8754 1.67% 工程师 历史表现 15 14600 英格闫 --- 2.271 0.016 2.62% --- 1.75% 工程师 历史表现 16 111100 服务员 0.8954 2.1154 0.0202 2.31% 0.8885 1.52% 工程师 历史表现 99 010288 面包店老板 2.287 2.407 0.051 === 2.2754 1.76% --- 采购员 历史表现 100 161604 上网 0.88 2.05 0.019 2.21% 0.8754 1.67% 采购员 --- 101 583622 女友001 0.627 2.271 0.016 2.62% 0.6217 1.75% --- 历史表现 102 142520 部分 0.8954 2.1154 0.0202 2.31% 0.8885 1.52% 采购员 历史表现 103 159901 谢谢 2.287 2.407 0.051 2.28% 2.2754 1.76% 采购员 历史表现 现在想把他重新排版: 1 010283 --- 0.627 2.271 0.016 === 0.6217 1.75% 工程师 历史表现 2 009730 中国 0.8954 2.1154 0.0202 2.31% 0.8885 1.52% 采购员 历史表现 3 008655 --- 2.287 2.407 --- 2.28% 2.2754 1.76% 工程师 历史表现 9 014743 === 0.627 2.271 0.016 --- 0.6217 1.75% 采购员 历史表现 10 010282 烟酒经销商 0.8954 --- --- --- 0.8885 1.52% 采购员 历史表现 14 008652 奥大利亚 0.88 2.05 === 2.21% 0.8754 1.67% 工程师 历史表现 15 14600 英格闫 --- 2.271 0.016 2.62% --- 1.75% 工程师 历史表现 16 111100 服务员 0.8954 2.1154 0.0202 2.31% 0.8885 1.52% 工程师 历史表现 99 010288 面包店老板 2.287 2.407 0.051 === 2.2754 1.76% --- 历史表现 100 161604 上网 0.88 2.05 0.019 2.21% 0.8754 1.67% 采购员 --- 101 583622 女友001 0.627 2.271 0.016 2.62% 0.6217 1.75% --- 历史表现 102 142520 部分 0.8954 2.1154 0.0202 2.31% 0.8885 1.52% 采购员 历史表现 103 159901 谢谢 2.287 2.407 0.051 2.28% 2.2754 1.76% 采购员 历史表现 由于这里面还有特殊字符要注意啊。 [ Last edited by terrytong on 2008-9-27 at 12:03 ] 附件 test.txt (981 bytes) |
|
| 第2楼 pusofalse | 发表于 2008-09-27 11:39 |
| 银牌会员 发帖 646 积分 1,604 | |
|
有什么不一样吗?或者把空格换成跳格?最好上传附件,格式不会丢弃。
另、对for已经入门的,如此不会是高难度。 [ Last edited by pusofalse on 2008-9-27 at 11:44 ] |
|
| 第3楼 terrytong | 发表于 2008-09-27 11:58 |
| 中级用户 发帖 115 积分 240 | |
|
结果像这个符件。
附件 restult.txt (1.11 KiB) |
|
| 第4楼 pusofalse | 发表于 2008-09-27 12:29 |
| 银牌会员 发帖 646 积分 1,604 | |
|
这题好麻烦,全角+半角混合~OMG 快成体力活了~
|
|
| 第5楼 pusofalse | 发表于 2008-09-27 13:09 |
| 银牌会员 发帖 646 积分 1,604 | |
|
果真成了体力活。我的这种方法不兼容等号=,所以用了wfr.exe把里面的=全部先替换为#,最后再改回来。
保存结果为a.txt wfr.exe 下载:http://www.vkill.net/tools/wfr_2.3.1.120.rar [ Last edited by pusofalse on 2008-9-27 at 13:20 ] |
|
| 第6楼 terrytong | 发表于 2008-09-27 13:31 |
| 中级用户 发帖 115 积分 240 | |
|
5楼的工具很好用,谢谢。
如果能不借用工具就更好了。我还没有想出好办法。^-^ |
|
| 第7楼 netbenton | 发表于 2009-03-01 08:54 |
| 银牌会员 发帖 752 积分 1,916 来自 广西 | |
|
@echo off&setlocal enabledelayedexpansion
::文本排版程序,根据字段长度来定宽度,而不是简单的用[TAB] ::难点在于取字段长度和特殊符号“=”号的处理上 set "sour=test.txt"& rem 源文件名 set "dest=restult.txt"&rem 处理结果存放文件名 cd.>!dest! set/a #n=0&set/p= Waiting.<nul for /f "tokens=1-11" %%a in (!sour!) do ( set/a #n+=1 set /p=.<nul set #m=0&set nn=0 for /f "skip=1 delims=:" %%m in ('^(echo."%%a"^&echo."%%b"^&echo."%%c"^&echo."%%d"^&echo."%%e"^&echo."%%f"^&echo."%%g"^&echo."%%h"^&echo."%%i"^&echo."%%j"^&echo."%%k"^&echo.^)^|findstr /o ".*"') do ( set/a #m+=1&set/a _!#n!_!#m!=%%m-!nn!-5&set nn=%%m call :sebig _!#n!_!#m! _nm!#m! ) ) set/a #n=0 set/p=.<nul set "space= " for /f "tokens=1-11" %%a in (!sour!) do ( set/a #n+=1&set #m=0 set /p=.<nul set _str= for %%m in ("%%a","%%b","%%c","%%d","%%e","%%f","%%g","%%h","%%i","%%j","%%k") do ( set "_mm=%%~m"&set/a #m+=1&set /p "= !_mm!"<nul>>!dest! call :gecho %%_!#n!_!#m!%% %%_nm!#m!%% ) echo.>>!dest! ) echo ok..&pause goto :eof :sebig if !%1! geq !%2! (set %2=!%1!) goto :eof :gecho set /p=!space:~-%2,-%1!<nul>>!dest! goto :eof |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |