标题: 自动换行问题
[打印本页]
作者: 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禁止编辑器或者其它的工具来查看。