中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 請文如何將一的檔案中的某一行文字換成你需要的文字
« [1] [2] »
作者:
标题: 請文如何將一的檔案中的某一行文字換成你需要的文字 上一主题 | 下一主题
dosfroum
初级用户





积分 154
发帖 54
注册 2005-9-25
状态 离线
『第 16 楼』:  

發現空白增加的原因是這行
if "%%i"=="timeout" (echo %%i   %%j 3 %%l>>temp.txt) else (echo %%i   %%j %%k %%l>>temp.txt)
%%i   %%j 中間的空白多了兩個 不知道這樣弄得原因在哪邊
我直接把縮短為一個空格 空增加的問題就好了
剩下空白被刪除的問題了 和 值並未被修改
不知道從何解起 謝謝

[ Last edited by dosfroum on 2006-2-17 at 15:51 ]

2006-2-17 15:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 17 楼』:  

Re dosfroum:

      无论是空格增加还是减少,这都属于文本对齐的问题,且都与 for /f 的字符串切分特性有关,解决起来不是很简单,如果现在的结果已经可以应用,建议不要使用更复杂的代码。

      如果确实有必要,可以考虑不使用空格、tab作为字符串切分符,可以考虑使用 = 或者不用切分符,这样就需要使用 set 对字符串进行辅助性“剪接”。

      或者仍使用空格作为切分符,但对每个串项的长度进行检测,并使用 set /a 计算应该填补的空格数,再使用 for+set 将空格补齐即可。

      今天没有太多时间了,如果你确实需要,而又没有其它达人提供方案,可以考虑深入研究一下。



※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2006-2-17 17:46
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: