![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 19:43 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [收集思路]把信息之间的n个空格替换为1个跳格 |
| 可打印版本 2,426 / 15 |
| 第1楼 523066680 | 发表于 2009-10-07 16:28 |
| 银牌会员 发帖 1,133 积分 2,362 | |
|
[收集思路]把信息之间的n个空格替换为1个跳格 工作中得到一份电子料单,部分内容如下:
其中,第一列为物料名称,第二列为规格,第三列为封装,第四列为数量。 但是它们之间是用n个空格区分的,实际料单很长,要导入excel表格并 按excel的方式分列(excle用跳格符作为分列的标记)的话,可能要一个个地 去空格,换tab,纯体力活啊~ 感觉当成批处理题目做的话还蛮适合~ 我就当题目发了,顺便看看有哪些 好思路 :假定上面给出的料单名为 list.txt 现要求用批处理对该料单进行整理,把数据之间的空格换成1个跳格符 并直接重定向生成结果文件: result.xls (没装excel的 生成【result.x】也行) (跳格符发上来好像会变成连续空格吧,大家用文字表示好了,当然如果 有办法直接发的话,就教教我了。) [ Last edited by 523066680 on 2009-10-7 at 16:38 ] |
|
| 第2楼 523066680 | 发表于 2009-10-07 17:07 |
| 银牌会员 发帖 1,133 积分 2,362 | |
|
在bathome进程,seter已经给出了用
for tokens=1-3的办法,%%a跳格%%b跳格%%c 重定向出结果。 但是列数被确定了。 现题目升级,列数未知。 [ Last edited by 523066680 on 2009-10-7 at 18:01 ] |
|
| 第3楼 523066680 | 发表于 2009-10-07 18:54 |
| 银牌会员 发帖 1,133 积分 2,362 | |
|
今天bathome真热闹,一下子就刷了一长串……
|
|
| 第4楼 Hanyeguxing | 发表于 2009-10-07 19:48 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
|
好象这个方法处理的太慢了 [ Last edited by Hanyeguxing on 2009-10-8 at 04:37 ] |
|
| 第5楼 terse | 发表于 2009-10-07 20:57 |
| 银牌会员 发帖 946 积分 2,404 | |
|
字符串应该不含空格吧
|
|
| 第6楼 netbenton | 发表于 2009-10-07 21:22 |
| 银牌会员 发帖 752 积分 1,916 来自 广西 | |
|
@echo off&setlocal enabledelayedexpansion
set "Tab= "这里跳格 (for /f "tokens=*" %%i in (list.txt) do ( set str=%%i set str=!str: = %tab%! set str=!str:%tab% =! echo;!str: =! ))>result.x pause [ Last edited by netbenton on 2009-10-7 at 19:25 ] |
|
| 第7楼 523066680 | 发表于 2009-10-07 21:28 |
| 银牌会员 发帖 1,133 积分 2,362 | |
|
谢谢各位,学习了^_^
[ Last edited by 523066680 on 2009-10-7 at 21:30 ] |
|
| 第8楼 zh159 | 发表于 2009-10-07 23:09 |
| 金牌会员 发帖 1,467 积分 3,687 | |
|
按 6 楼netbenton的方法,把TAB跳格改为“,”,输出>result.x改为>result.csv,就可以直接双击打开后进入分列好的excel列表,另存为电子表格文件
PS:前提是必须是正常安装的OFFICE |
|
| 第9楼 523066680 | 发表于 2009-10-08 10:47 |
| 银牌会员 发帖 1,133 积分 2,362 | |
|
前辈出马就是不一样~ 学习学习。
|
|
| 第10楼 slore | 发表于 2009-10-08 12:18 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
如果存在 空格空格
替换 空格空格 为 空格 重复 |
|
| 第11楼 Hanyeguxing | 发表于 2009-10-08 17:03 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
|
还可以对每行逐个字符解析,第一个空格输出为制表符,通过set /a或if defined来实现后面的空格不输出。
|
|
| 第12楼 3742668 | 发表于 2009-10-09 15:34 |
| 荣誉版主 发帖 718 积分 2,013 | |
|
如8L所说,转换为csv文件是可以直接用OFFICE打开的。
另外,利用Excel中的"数据","导入外部数据",然后选择要导入的文件,按照提示是可以被Excel识别的。 好久好久没来了,也来练练手(不涉及特殊字符,转换为逗号): |
|
| 第13楼 3742668 | 发表于 2009-10-09 18:31 |
| 荣誉版主 发帖 718 积分 2,013 | |
|
冷清许多了啊,WillSort,无奈何,都不来了吗?
一部《特种部队》都看完了也没引出玉来,再来一个吧: [ Last edited by 3742668 on 2009-10-9 at 18:32 ] 附件 xx.rar (476 bytes) |
|
| 第14楼 HAT | 发表于 2009-10-09 19:17 |
| 版主 发帖 5,017 积分 9,023 | |
|
WillSort,无奈何确实好几年没有出现过了
|
|
| 第15楼 523066680 | 发表于 2009-10-09 19:31 |
| 银牌会员 发帖 1,133 积分 2,362 | |
|
3742668
版主改成txt的附件嘛,可以直接打开看并复制,压缩包要解压的哦。 yes……终于有崇拜的前辈来回帖了。 下载附件了,压缩包也有压缩包的好~ 那就压缩包了。 [ Last edited by 523066680 on 2009-10-9 at 19:35 ] |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |