Board logo

标题: 自动换行问题 [打印本页]

作者: enixchen     时间: 2007-4-27 04:41    标题: 自动换行问题

怎么在输入文本中实现自动换行呢
比如
xxxxxxxx换行yyyyyyyyy  >1.tx
生成的文本是
XXXXXXX
YYYYYY
作者: xiamin223     时间: 2007-4-27 04:48
@echo off
:s
set /p l=
echo %l%>>1.txt
cls
goto s
作者: lxmxn     时间: 2007-4-27 06:12
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"

作者: enixchen     时间: 2007-4-27 06: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")>>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````汗  但是会重复写入```
作者: enixchen     时间: 2007-4-27 06:36
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文本
`````不要人工来保存呢
期待高人~
作者: lililulula     时间: 2007-4-27 06:42
楼主要的是自动换行输出内容到文本中
其实echo XXXXX>1.txt
      echo YYYY>>1.txt
      .......
或者vbs都可以解决
楼主的意思可能是想知道是否在脚本中存在回车符,至于这个问题我也不知道
作者: zh159     时间: 2007-4-27 07:07


  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只是演示用的,所以没加关闭记事本部分
作者: enixchen     时间: 2007-4-27 11:21
楼上老大 那保存并关掉要怎么实现呢???
作者: lxmxn     时间: 2007-4-28 00:29


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

不明白你说的什么意思。

用VBS写进文件之后,它自动保存。
作者: lxmxn     时间: 2007-4-28 00:34    标题: 用下面这个也可以


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

作者: enixchen     时间: 2007-4-28 02:39
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的文本
自动输入
然后自动保存 这样
作者: lxmxn     时间: 2007-5-13 07:27    标题: Use GNU sed


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

作者: huihua2008     时间: 2007-5-13 13:06
我来了,顶上去
作者: slore     时间: 2007-5-13 13:54
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
作者: flyinspace     时间: 2007-5-13 14:06
很简单啊 ?
@echo off

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

pause

如此,几行代码搞定。。
作者: lililulula     时间: 2007-5-14 10:40


  Quote:
Originally posted by lxmxn at 2007-4-28 12:34 AM:
@echo off&Setlocal EnableDelayedExpansion
for /f "delims=" %%a in (1.txt) do (
        set str=%%a
        set str=!str:换行=$_!
        exit|cmd/kprompt !str!>>new_.txt
)

请问lxmxn斑竹,"$_"是换行符吗?不知道cmd /k prompt这里真正的含义,具体起什么作用.
作者: lxmxn     时间: 2007-5-14 12:29
Re lililulula:

$_ 不是换行符,但是和prompt命令在一起,再结合exit命令,就可以转化成换行的效果了。

具体的原因可以搜索一下Redtek及Willsort的相关帖子。
作者: flyinspace     时间: 2007-5-14 12:46
呵,如此干脆用c解决好了。。

又不是没有简单的方法?为什么大家都不用呢?
作者: lxmxn     时间: 2007-5-14 13:14
还有简单的方法呢!

见本贴12楼。
作者: lililulula     时间: 2007-5-14 15:44
回lxmxn斑竹:
  我搜索了,但是好象没有找到具体讲解的帖子,能否告知帖名?另外还有一问题,edit中输入alt+10得到换行符号,为什么保存出来的却不像退格符那样能显示出来,不知道有什么办法解决没?
作者: flyinspace     时间: 2007-5-14 16:10
你用16位编辑软件来解决啊
作者: lxmxn     时间: 2007-5-14 18:11
Re lililulula:

参考下面我搜索到的几个帖子
http://www.cn-dos.net/forum/viewthread.php?tid=24970
http://www.cn-dos.net/forum/viewthread.php?tid=25707
http://www.cn-dos.net/forum/viewthread.php?tid=24521

因为换行符是非可见字符,你当然看不见了,要用专门的16禁止编辑器或者其它的工具来查看。