中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 【求助】(可能P不行,等vbs终结者slore来解决)特殊换行
作者:
标题: 【求助】(可能P不行,等vbs终结者slore来解决)特殊换行 上一主题 | 下一主题
kioskboy
初级用户





积分 153
发帖 103
注册 2008-3-27
状态 离线
『楼 主』:  【求助】(可能P不行,等vbs终结者slore来解决)特殊换行

求一bat或vbs脚本或其它脚本(不用sed也行,我写的bat很丑,而且碰到"就ge了)
如有一个文本文件1.txt
想用sed处理后,生成1_new.txt

即使1.txt中如有哪行超过100个汉字(主要是汉字,字母和符号谁便,1个最多应该相当于一个汉字吧),后面的的则另起一行,一直到少于100子则可。
若一行没有超过100个字符的,不动,即1.txt中该行前面有超过100字符的行,不会挤到前面来

[ Last edited by kioskboy on 2009-4-7 at 22:26 ]

2009-4-6 04:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复
haidao123
贫困用户





积分 -1
发帖 1
注册 2009-4-5
状态 离线
『第 2 楼』:  

ding

   此帖被 -2 点积分    点击查看详情   
评分人:【 HAT 分数: -2  时间:2009-4-6 08:15


2009-4-6 07:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 3 楼』:  

这意思是超一百字的行,每一百字拆多行?




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2009-4-6 08:08
查看资料  发短消息 网志   编辑帖子  回复  引用回复
kioskboy
初级用户





积分 153
发帖 103
注册 2008-3-27
状态 离线
『第 4 楼』:  


谁有答案没,有的话贴一下
在线等。。。。
快要睡觉了。。。

[ Last edited by kioskboy on 2009-4-6 at 09:37 ]

2009-4-6 08:29
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 5 楼』:  

-_-看样子是比较难滴




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2009-4-6 10:43
查看资料  发短消息 网志   编辑帖子  回复  引用回复
kioskboy
初级用户





积分 153
发帖 103
注册 2008-3-27
状态 离线
『第 6 楼』:  

真的吗
如过用sed或awk做,难在哪里呢
等这用,用什么脚本解决都可以

2009-4-8 11:09
查看资料  发短消息 网志   编辑帖子  回复  引用回复
moniuming
银牌会员

永远的菜鸟



积分 1335
发帖 574
注册 2007-11-27
来自 广西
状态 离线
『第 7 楼』:  

sed不支持中文,如果只是要100个字符的话,set就可以了...

2009-4-8 11:27
查看资料  发短消息 网志   编辑帖子  回复  引用回复
kioskboy
初级用户





积分 153
发帖 103
注册 2008-3-27
状态 离线
『第 8 楼』:  

那就麻烦用set帮我整整吧

2009-4-8 11:33
查看资料  发短消息 网志   编辑帖子  回复  引用回复
moniuming
银牌会员

永远的菜鸟



积分 1335
发帖 574
注册 2007-11-27
来自 广西
状态 离线
『第 9 楼』:  


@echo off
set codes=100
(
for /f "delims=" %%a in (1.txt) do (
  set str=%%a
  Setlocal Enabledelayedexpansion
  call :lp
  endlocal
)
)>1_new.txt
start "" "1_new.txt"
goto :eof
:lp
set/p=!str:~0,%codes%!<nul
echo.
if not "!str:~%codes%!"=="" (
  set str=!str:~%codes%!
  goto :lp
)
goto :eof


   此帖被 +8 点积分        点击查看详情   
评分人:【 yishanju 分数: +8  时间:2009-4-8 13:13


2009-4-8 12:17
查看资料  发短消息 网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 10 楼』:  

@echo off

(for /f "delims=" %%a in (1.txt) do (
  set str=%%a
  Setlocal Enabledelayedexpansion
   for /l %%i in (1,1,92) do (
        if defined str (
            echo.!str:~0,100!
            set "str=!str:~100!"
        )
    )
    endlocal
))>a.txt
start a.txt

[ Last edited by netbenton on 2009-4-8 at 11:21 ]

   此帖被 +8 点积分        点击查看详情   
评分人:【 yishanju 分数: +8  时间:2009-4-8 13:35




精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-4-8 13:19
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 11 楼』:  

最好上传个样本。

这个要求一般会点VBS的都可以解决的。。。



S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2009-4-9 01:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复
freeants001
中级用户




积分 330
发帖 244
注册 2006-4-14
来自 湖北
状态 离线
『第 12 楼』:  

//我也来贴个JS脚本
if(WScript.arguments.length!=1){
    WScript.echo("请拖动要转换的文本文件到该脚本的图标上!\n\n"
                 +"或直接在命令行下输入参数!");
    WScript.quit();
}
doConverting(WScript.arguments(0));

function doConverting(File_Path){
    var fso=new ActiveXObject("scripting.filesystemobject");
    try{
        //备份文件
        fso.CopyFile(File_Path,File_Path+".bak");
        var fl=fso.opentextfile(File_Path,1);
        var sss=fl.readall();
    }catch(err){
        WScript.quit();
    }
    var fl=fso.opentextfile(File_Path,2);
   
    //把下面的数字100改为相应的数值即可控制每行字数
    //如把“{100}”改为“{50}”,即每行50字
    sss=sss.replace(/(.{100})/mg,"$1\r\n");
    fl.write(sss);
}


2009-4-9 03:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: