中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-25 06:26
共 47,813 主题排行 / 349,918 发帖 / 今日 1 篇 / 48,274 会员排行
DOS批处理 & 脚本技术(批处理室) » 自动换行问题
可打印版本  2,328 / 21
第1楼 enixchen 发表于 2007-04-27 04:41
初级用户 发帖 23 积分 57
自动换行问题
怎么在输入文本中实现自动换行呢
比如
xxxxxxxx换行yyyyyyyyy >1.tx
生成的文本是
XXXXXXX
YYYYYY
第2楼 xiamin223 发表于 2007-04-27 04:48
新手上路 发帖 2 积分 4
@echo off
:s
set /p l=
echo %l%>>1.txt
cls
goto s
第3楼 lxmxn 发表于 2007-04-27 06:12
版主 发帖 4,938 积分 11,386
To enixchen:

第一次用VBS解决问题,让大家见笑了。
第4楼 enixchen 发表于 2007-04-27 06:21
初级用户 发帖 23 积分 57
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````汗 但是会重复写入```
第5楼 enixchen 发表于 2007-04-27 06:36
初级用户 发帖 23 积分 57
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文本
`````不要人工来保存呢
期待高人~
第6楼 lililulula 发表于 2007-04-27 06:42
中级用户 发帖 138 积分 302
楼主要的是自动换行输出内容到文本中
其实echo XXXXX>1.txt
echo YYYY>>1.txt
.......
或者vbs都可以解决
楼主的意思可能是想知道是否在脚本中存在回车符,至于这个问题我也不知道
第7楼 zh159 发表于 2007-04-27 07:07
金牌会员 发帖 1,467 积分 3,687
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只是演示用的,所以没加关闭记事本部分
第8楼 enixchen 发表于 2007-04-27 11:21
初级用户 发帖 23 积分 57
楼上老大 那保存并关掉要怎么实现呢???
第9楼 lxmxn 发表于 2007-04-28 00:29
版主 发帖 4,938 积分 11,386
Originally posted by enixchen at 2007-4-26 22:21:
那保存并关掉要怎么实现呢???

不明白你说的什么意思。

用VBS写进文件之后,它自动保存。
第10楼 lxmxn 发表于 2007-04-28 00:34
版主 发帖 4,938 积分 11,386
用下面这个也可以
第11楼 enixchen 发表于 2007-04-28 02:39
初级用户 发帖 23 积分 57
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的文本
自动输入
然后自动保存 这样
第12楼 lxmxn 发表于 2007-05-13 07:27
版主 发帖 4,938 积分 11,386
Use GNU sed
第13楼 huihua2008 发表于 2007-05-13 13:06
新手上路 发帖 3 积分 5
我来了,顶上去
第14楼 slore 发表于 2007-05-13 13:54
铂金会员 发帖 2,478 积分 5,212
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
第15楼 flyinspace 发表于 2007-05-13 14:06
银牌会员 发帖 517 积分 1,206
很简单啊 ?
@echo off

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

pause

如此,几行代码搞定。。
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023