中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-30 17:55
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 自动换行问题 查看 2,010 回复 21
楼 主 自动换行问题 发表于 2007-04-27 04:41 ·  中国 福建 福州 电信
初级用户
积分 57
发帖 23
注册 2007-04-23 05:19
19年会员
UID 86157
性别 男
状态 离线
怎么在输入文本中实现自动换行呢
比如
xxxxxxxx换行yyyyyyyyy >1.tx
生成的文本是
XXXXXXX
YYYYYY
2 发表于 2007-04-27 04:48 ·  中国 河南 洛阳 联通
新手上路
积分 4
发帖 2
注册 2007-04-27 04:26
19年会员
UID 86604
性别 男
状态 离线
@echo off
:s
set /p l=
echo %l%>>1.txt
cls
goto s
3 发表于 2007-04-27 06:12 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
19年会员
UID 59080
状态 离线
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"
4 发表于 2007-04-27 06:21 ·  中国 福建 福州 电信
初级用户
积分 57
发帖 23
注册 2007-04-23 05:19
19年会员
UID 86157
性别 男
状态 离线
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 发表于 2007-04-27 06:36 ·  中国 福建 福州 电信
初级用户
积分 57
发帖 23
注册 2007-04-23 05:19
19年会员
UID 86157
性别 男
状态 离线
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 发表于 2007-04-27 06:42 ·  中国 上海 浦东新区 电信
中级用户
★★
积分 302
发帖 138
注册 2007-03-29 02:33
19年会员
UID 83224
性别 男
状态 离线
楼主要的是自动换行输出内容到文本中
其实echo XXXXX>1.txt
echo YYYY>>1.txt
.......
或者vbs都可以解决
楼主的意思可能是想知道是否在脚本中存在回车符,至于这个问题我也不知道
7 发表于 2007-04-27 07:07 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
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 发表于 2007-04-27 11:21 ·  中国 福建 福州 电信
初级用户
积分 57
发帖 23
注册 2007-04-23 05:19
19年会员
UID 86157
性别 男
状态 离线
楼上老大 那保存并关掉要怎么实现呢???
9 发表于 2007-04-28 00:29 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
19年会员
UID 59080
状态 离线
Originally posted by enixchen at 2007-4-26 22:21:
那保存并关掉要怎么实现呢???

不明白你说的什么意思。

用VBS写进文件之后,它自动保存。
10 用下面这个也可以 发表于 2007-04-28 00:34 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
19年会员
UID 59080
状态 离线
@echo off&Setlocal EnableDelayedExpansion
for /f "delims=" %%a in (1.txt) do (
set str=%%a
set str=!str:换行=$_!
exit|cmd/kprompt !str!>>new_.txt
)
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
huzixuan +4 2007-04-29 23:37
11 发表于 2007-04-28 02:39 ·  中国 福建 福州 连江县 电信
初级用户
积分 57
发帖 23
注册 2007-04-23 05:19
19年会员
UID 86157
性别 男
状态 离线
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 Use GNU sed 发表于 2007-05-13 07:27 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
19年会员
UID 59080
状态 离线
sed "s/换行/\n/g" urfile
13 发表于 2007-05-13 13:06 ·  中国 广东 河源 电信
新手上路
积分 5
发帖 3
注册 2007-05-13 11:41
19年会员
UID 88384
性别 男
状态 离线
我来了,顶上去
14 发表于 2007-05-13 13:54 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
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 发表于 2007-05-13 14:06 ·  中国 广东 广州 联通
银牌会员
★★★
积分 1,206
发帖 517
注册 2007-03-25 01:18
19年会员
UID 82819
性别 男
状态 离线
很简单啊 ?
@echo off

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

pause

如此,几行代码搞定。。
知,不觉多。不知,乃求知
论坛跳转: