![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-05 07:59 |
共 48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 超长行文本如何使用替换 |
| 可打印版本 936 / 4 |
| 第1楼 bd123456789 | 发表于 2007-07-06 10:22 |
| 中级用户 发帖 216 积分 360 | |
|
超长行文本如何使用替换 我有一个文本文件,在附件中
其中一行是超长文本 我编写了如下代码: 目的想将文本中的所有空格替换成*号 setlocal enabledelayedexpansion for /f "tokens=*" %%i in (123.txt) do ( set var=%%i set "var=!var: =*!" echo !var!>>456.txt ) 我在其它一些小的文本中,能够顺利通过 但123文本中发现,原文件大小120多KB 导出的文本却只有15KB? 说明有部分文本没有被读取,或者说被丢掉??有什么好的解决办法吗? 附件 123.rar (22.79 KiB) |
|
| 第2楼 lxmxn | 发表于 2007-07-06 11:22 |
| 版主 发帖 4,938 积分 11,386 | |
| 第3楼 bd123456789 | 发表于 2007-07-06 17:31 |
| 中级用户 发帖 216 积分 360 | |
|
不知道是什么原因造成的
你的回答也是一种解决办法,但我想要在CMD下实现 另外,真没有其它办法了吗??? |
|
| 第4楼 lxmxn | 发表于 2007-07-07 15:58 |
| 版主 发帖 4,938 积分 11,386 | |
|
用cmd自带的命令解决很困难,因为cmd对命令行的长度有限制,一般是2048个字符(如果没记错的话),所以你的文本超过了这个数目就会不处理或者出错。
另外,为何不用sed或者awk呢? |
|
| 第5楼 bd123456789 | 发表于 2007-07-08 11:47 |
| 中级用户 发帖 216 积分 360 | |
Originally posted by lxmxn at 2007-7-7 03:58 PM: 多谢多谢 我测试了一下 当文件大小在10K左历,能够正常替换,说明CMD对命令行长度限制不是2048,而是在10000多个字节!! 不知道为什么微软对此不作介绍,或者说明 呵呵 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |