中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [1] [2] »
作者:
标题: 自动换行问题 上一主题 | 下一主题
enixchen
初级用户





积分 57
发帖 23
注册 2007-4-23
状态 离线
『楼 主』:  自动换行问题

怎么在输入文本中实现自动换行呢
比如
xxxxxxxx换行yyyyyyyyy  >1.tx
生成的文本是
XXXXXXX
YYYYYY

2007-4-27 04:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xiamin223
新手上路





积分 4
发帖 2
注册 2007-4-27
状态 离线
『第 2 楼』:  

@echo off
:s
set /p l=
echo %l%>>1.txt
cls
goto s

2007-4-27 04:48
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




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

To enixchen:

第一次用VBS解决问题,让大家见笑了。
Dim fso,wshell
Set wshell=WScript.CreateObject("Wscript.shell")
Set fso=CreateObject("scripting.filesystemobject")
Set file=fso.opentextfile("huanhang.txt")
all=file.readall
s=replace(all,"换行",vbcrlf)
file.close()
Set b=fso.CreateTextFile("new.txt")
b.Write(s)
b.Close
wshell.Run "new.txt"


2007-4-27 06:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
enixchen
初级用户





积分 57
发帖 23
注册 2007-4-23
状态 离线
『第 4 楼』:  

echo dim ws>>12.vbs
echo str = "Sorry girl:$I think I...$don't love you!">>12.vbs
echo Num = len(str)>>12.vbs
echo set ws=wscript.createobject("wscript.shell")>>12.vbs
echo ws.run("notepad.exe")>>12.vbs
echo wscript.sleep 200>>12.vbs
echo ws.appactivate "无标题 - 记事本">>12.vbs
echo wscript.sleep 500>>12.vbs

echo for i = 1 to Num>>12.vbs
echo Input = Mid(str, i, 1)>>12.vbs
echo if Input = "$" then Input = vbCr>>12.vbs
echo wscript.sleep 500>>12.vbs
echo ws.sendkeys(Input)>>12.vbs
echo next>>12.vbs

我也搞定了 用的是ECHO````汗  但是会重复写入```

2007-4-27 06:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
enixchen
初级用户





积分 57
发帖 23
注册 2007-4-23
状态 离线
『第 5 楼』:  

echo dim ws>>12.vbs
echo str = "Sorry girl:$I think I...$don't love you!">>12.vbs
echo Num = len(str)>>12.vbs
echo set ws=wscript.createobject("wscript.shell")>>12.vbs
echo ws.run("notepad.exe")>>12.vbs
echo wscript.sleep 200>>12.vbs
echo ws.appactivate "无标题 - 记事本">>12.vbs
echo wscript.sleep 500>>12.vbs

echo for i = 1 to Num>>12.vbs
echo Input = Mid(str, i, 1)>>12.vbs
echo if Input = "$" then Input = vbCr>>12.vbs
echo wscript.sleep 500>>12.vbs
echo ws.sendkeys(Input)>>12.vbs
echo next>>12.vbs


start 12.vbs

taskkill /f /im notepad.exe

del 12.vbs


把重复写入问题也解决了````
汗  先结束记事本的进程 再删掉文件

```但是``
有没办法让这个程序在
输出
don't love you!
之后自动保存为一个TXT文本
`````不要人工来保存呢
期待高人~

2007-4-27 06:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lililulula
中级用户





积分 302
发帖 138
注册 2007-3-29
状态 离线
『第 6 楼』:  

楼主要的是自动换行输出内容到文本中
其实echo XXXXX>1.txt
      echo YYYY>>1.txt
      .......
或者vbs都可以解决
楼主的意思可能是想知道是否在脚本中存在回车符,至于这个问题我也不知道

2007-4-27 06:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 7 楼』:  



  Quote:
Originally posted by enixchen at 2007-4-26 17:21:
echo dim ws>>12.vbs
echo str = "Sorry girl:$I think I...$don't love you!">>12.vbs
echo Num = len(str)>>12.vbs
echo set ws=wscript.createobject("wscript.shell&quo ...

我这段VBS只是演示用的,所以没加关闭记事本部分

2007-4-27 07:07
查看资料  发短消息 网志   编辑帖子  回复  引用回复
enixchen
初级用户





积分 57
发帖 23
注册 2007-4-23
状态 离线
『第 8 楼』:  

楼上老大 那保存并关掉要怎么实现呢???

2007-4-27 11:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




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



  Quote:
Originally posted by enixchen at 2007-4-26 22:21:
那保存并关掉要怎么实现呢???

不明白你说的什么意思。

用VBS写进文件之后,它自动保存。

2007-4-28 00:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 10 楼』:  用下面这个也可以


@echo off&Setlocal EnableDelayedExpansion
for /f "delims=" %%a in (1.txt) do (
        set str=%%a
        set str=!str:换行=$_!
        exit|cmd/kprompt !str!>>new_.txt
)


   此帖被 +4 点积分        点击查看详情   
评分人:【 huzixuan 分数: +4  时间:2007-4-29 23:37


2007-4-28 00:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
enixchen
初级用户





积分 57
发帖 23
注册 2007-4-23
状态 离线
『第 11 楼』:  

dim ws
str = "Sorry girl:$I think I...$don't love you!"
Num = len(str)

set ws=wscript.createobject("wscript.shell")
ws.run("notepad.exe")
wscript.sleep 200
ws.appactivate " 记事本 "
wscript.sleep 500

for i = 1 to Num

Input = Mid(str, i, 1)

if Input = "$" then Input = vbCr

wscript.sleep 500

ws.sendkeys(Input)

next

我的问题就是关于zh159
的这段代码`
怎么样实现

建立一个名为XX。TXT的文本
自动输入
然后自动保存 这样

2007-4-28 02:39
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




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


sed "s/换行/\n/g" urfile


2007-5-13 07:27
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huihua2008
新手上路





积分 5
发帖 3
注册 2007-5-13
状态 离线
『第 13 楼』:  

我来了,顶上去

2007-5-13 13:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





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

Dim WShell,fso,file
Set WShell = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile("Outext.txt",2,True)

str = "Sorry girl:$I think I...$don't love you!"

file.Write Replace(str,"$",vbCrLf)
file.Close

Res = MsgBox("文本已经生成,是否现在查看?",1,"提示")

If Res = 1 Then WShell.run "Outext.txt"

Set file = Nothing
Set fso = Nothing
Set WShell = Nothing

2007-5-13 13:54
查看资料  发短消息 网志   编辑帖子  回复  引用回复
flyinspace
银牌会员





积分 1206
发帖 517
注册 2007-3-25
状态 离线
『第 15 楼』:  

很简单啊 ?
@echo off

echo 情输入您要输入的内容。按Ctrl+Z键结束。
copy con 1.txt

pause

如此,几行代码搞定。。



知,不觉多。不知,乃求知
2007-5-13 14:06
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: