中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 如何利用批处理追加不换行 上一主题 | 下一主题
beeny
初级用户





积分 136
发帖 49
注册 2007-1-4
状态 离线
『楼 主』:  如何利用批处理追加不换行

09165365064|
09165365097|
09165368188|
09165364018|
09165364091|
09165364380|
09165364491|
。。。。。。。。
。。。。。。。。
要将上面号码批处理成下面这个样子怎么办?
09165365064|09165365097|09165368188|09165364018|09165364091|09165364380|09165364491。。。。。。。。。。。。。。
就是说在追加的时候不换行!


就是说原来的电话号码是一行一个,现在要将所有号码合在一起,号码与号之间用"|"竖线隔开并且不换行的保存到别一个记事本里!

[ Last edited by beeny on 2007-4-9 at 11:50 AM ]

附件 1: 1.JPG (2007-4-10 00:32, 77.68 K,下载次数: 2)


2007-4-9 23:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 2 楼』:  

问题描述不清,无法解答。

可以试试for循环加设置环境变量(但不知道环境变量会不会有大小限制)。

或者试试lmod这个命令。

或者试试使用十六进制替换命令将ODOA替换为无。



偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2007-4-10 00:28
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
beeny
初级用户





积分 136
发帖 49
注册 2007-1-4
状态 离线
『第 3 楼』:  

setlocal enabledelayedexpansion
for /f %%a in (E:\123.txt) do set  fn+=%%a
@echo !fn!>>c.txt

上面代码是按VB的意思写的但是运行不对啊!达不到我想要的效果!

2007-4-10 01:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 4 楼』:  

>>life set/p=^abc<nul

   此帖被 +2 点积分    点击查看详情   
评分人:【 beeny 分数: +2  时间:2007-4-11 12:18


2007-4-10 01:11
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
pillow
初级用户





积分 196
发帖 82
注册 2005-9-26
状态 离线
『第 5 楼』:  

真不容易,找到这么个与我问题很像的问题。

我的问题是比beeny的要求稍微再高一点点,就是追加不換行,而且还要隔开,需要加入数个tab或是空格;用set /p=虽然能不换行,但死活无法插入空格或是tab,若是用了echo,就直接换行了。

用beeny的实例来讲就是要实现这样:
09165365064     09165365097   
09165368188     09165364018
09165364091     09165364380
…………

即每行中第二列数字是运算出来的,希望被tab隔开,追加到行尾。

2007-10-24 15:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 6 楼』:  


@echo off&Setlocal EnableDelayedExpansion

for /f "delims=" %%a in (1.txt) do (
    set /a a+=1
    set /a b=a%%2
    if !b!==0 (echo %%a) else (set/p=%%a                <nul)
)


   此帖被 +1 点积分    点击查看详情   
评分人:【 zhclsy 分数: +1  时间:2007-10-25 09:53


2007-10-24 22:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pillow
初级用户





积分 196
发帖 82
注册 2005-9-26
状态 离线
『第 7 楼』:  

谢谢lxmxn的指点!

在我的实例中,第一列的长度是不固定的(人名),导致最后生成的部分不整齐,所以之前的问题是用空格或tab隔开,所以就想请教剩下的这个很久以来一直好奇的问题:

可以用tab做为分隔符吗?是否能动态(或根据其它变量来决定)生成不定个数的tab做分隔符?

[ Last edited by pillow on 2007-10-25 at 08:29 AM ]

2007-10-25 08:23
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pillow
初级用户





积分 196
发帖 82
注册 2005-9-26
状态 离线
『第 8 楼』:  

以前都是在cmd中想直接echo出tab来的,所以没能成功。
自己刚才试过了,可以直接在编辑BAT文件set/p=%%a                <nul时的a与<之间直接输入tab,就能显示出来了。


现在问题剩下的就是:
是否能动态(或者说根据其它变量的值来决定)生成特定个数的tab做分隔符?

2007-10-25 08:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhclsy
初级用户





积分 83
发帖 34
注册 2007-10-14
状态 离线
『第 9 楼』:  

呵呵,很好呀

2007-10-25 09:54
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: