中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-29 21:53
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 【求助】怎么向文本文件加入空行 查看 2,167 回复 22
楼 主 【求助】怎么向文本文件加入空行 发表于 2008-08-06 17:47 ·  中国 上海 上海地面通信息网络有限公司
中级用户
★★
积分 240
发帖 115
注册 2008-03-10 19:31
18年会员
UID 112561
性别 男
状态 离线
我有个文本文件,现在需要向里面的所有的单行后加一空行。
一定要是空行,不能有空格。
我用 echo.>>xx.txt为什么不行啊。
只有第一次没有.号,其他的都有个。号。
知道的人帮帮我啊。
2 发表于 2008-08-06 20:06 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
把你的完整代码贴出来看看
3 发表于 2008-08-06 21:14 ·  中国 上海 上海地面通信息网络有限公司
中级用户
★★
积分 240
发帖 115
注册 2008-03-10 19:31
18年会员
UID 112561
性别 男
状态 离线
Originally posted by HAT at 2008-8-6 20:06:
把你的完整代码贴出来看看

@echo off
title set station ID for mPCIe
mode con cols=100 lines=20
setlocal enabledelayedexpansion
set /p IP=please input the IP number:
set /p ID=please input the ID number:
cd\
d:

for /r d:\zt4_rev\T1 %%a in (*.cfg) do (
set temp=%%a
set mo=!temp:~16,14!
set phase=!temp:~13,2!
set dirc=!temp:~0,31!
cd !dirc!
del sfis.cfg
echo >>sfis.cfg
echo MP_PN=!mo!>>sfis.cfg
echo RMA_PN=NA>>sfis.cfg
echo SN_LENGTH=13>>sfis.cfg
echo.>>sfis.cfg
echo >>sfis.cfg
echo Enable=1>>sfis.cfg
echo SFIS_TIMEOUT = 25000>>sfis.cfg
echo SFIS_IP=10.5.5.!IP!>>sfis.cfg
echo SFIS_Port=5010>>sfis.cfg
echo FixtureID=!phase!_!ID!>>sfis.cfg
echo LINE=ZT4>>sfis.cfg
echo.>>sfis.cfg
echo >>sfis.cfg
echo ChipId=none>>sfis.cfg
echo FA_Debug=disable>>sfis.cfg
echo SfCheckAutoFocus=disable>>sfis.cfg
echo.>>sfis.cfg
echo >>sfis.cfg
echo R=255>>sfis.cfg
echo G=0>>sfis.cfg
echo B=0>>sfis.cfg
echo Message="ERROR!">>sfis.cfg
echo.>>sfis.cfg
echo >>sfis.cfg
echo Enable=0>>sfis.cfg
echo ApplicationPath=fciv.exe>>sfis.cfg
echo CheckSumPath=imagefile_12MB.cks>>sfis.cfg
echo ConfigPath=param.ini>>sfis.cfg
echo BlockName=Options>>sfis.cfg
echo ItemName=UpLoadImagePath>>sfis.cfg

)

只有第一个目录得到想要的结果,其他的都如下:

MP_PN=1602-276201-02
RMA_PN=NA
SN_LENGTH=13
.

Enable=
SFIS_TIMEOUT = 25000
SFIS_IP=10.5.5.80
SFIS_Port=5010
FixtureID=T1_27
LINE=ZT4
.

ChipId=none
FA_Debug=disable
SfCheckAutoFocus=disable
.

R=255
Message="ERROR"
.

Enable=
ApplicationPath=fciv.exe
CheckSumPath=imagefile_12MB.cks
ConfigPath=param.ini
BlockName=Options
ItemName=UpLoadImagePath
4 发表于 2008-08-06 21:30 ·  中国 湖北 武汉 联通
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
19年会员
UID 59080
状态 离线
echo. 应该只会输出一个空行,不会输入多余的点,仔细检查一下你的代码,看是不是写成了“echo[空格].”……
5 发表于 2008-08-06 21:34 ·  中国 广东 广州 天河区 电信
银牌会员
★★★
积分 1,206
发帖 517
注册 2007-03-25 01:18
19年会员
UID 82819
性别 男
状态 离线
他的代码没问题啊?

还有尽量少用 for 里面的 !扩展.情愿用call语句 调用.

想理解的话。写一个多for的循环语句就可以明白 了。
知,不觉多。不知,乃求知
6 发表于 2008-08-06 21:41 ·  中国 上海 上海地面通信息网络有限公司
中级用户
★★
积分 240
发帖 115
注册 2008-03-10 19:31
18年会员
UID 112561
性别 男
状态 离线
echo.中绝对没有空格,为什么只有第一个目录里没有多余的点?
还有就是
echo G=0>>sfis.cfg
echo B=0>>sfis.cfg
输出时0不见了。
但是如果set zero=0
用!zero!就没有问题。
7 发表于 2008-08-06 22:06 ·  中国 浙江 杭州 电信
初级用户
★★
积分 192
发帖 72
注册 2005-07-31 21:10
20年会员
UID 41234
状态 离线
echo G=^0>>sfis.cfg

好像不转义的话,这里0当作句柄用了
8 发表于 2008-08-06 22:09 ·  中国 浙江 杭州 电信
初级用户
★★
积分 192
发帖 72
注册 2005-07-31 21:10
20年会员
UID 41234
状态 离线
echo Message="ERROR^!">>sfis.cfg

貌似!也要转义
9 发表于 2008-08-06 22:47 ·  中国 浙江 杭州 电信
初级用户
★★
积分 192
发帖 72
注册 2005-07-31 21:10
20年会员
UID 41234
状态 离线
貌似找不到问题所在,把问题简化一下贴上来

for /r d:\zt4_rev\T1 %%a in (*.t) do echo.hello
pause


[ Last edited by obsolete on 2008-8-6 at 11:05 PM ]
10 发表于 2008-08-06 23:22 ·  中国 浙江 杭州 电信
初级用户
★★
积分 192
发帖 72
注册 2005-07-31 21:10
20年会员
UID 41234
状态 离线
如5楼所说,可以用call,echo.

for /r d:\zt4_rev\T1 %%a in (*.t) do call,echo.hello
pause


[ Last edited by obsolete on 2008-8-6 at 11:26 PM ]
11 发表于 2008-08-07 01:08 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@echo off
title set station ID for mPCIe
mode con cols=100 lines=20
setlocal enabledelayedexpansion
set /p IP=please input the IP number:
set /p ID=please input the ID number:
cd\
d:

for /r d:\zt4_rev\T1 %%a in (*.cfg) do (
set temp=%%a
set mo=!temp:~16,14!
set phase=!temp:~13,2!
set dirc=!temp:~0,31!
cd !dirc!
del sfis.cfg
>>sfis.cfg echo
>>sfis.cfg echo MP_PN=!mo!
>>sfis.cfg echo RMA_PN=NA
>>sfis.cfg echo SN_LENGTH=13
>>sfis.cfg echo.
>>sfis.cfg echo
>>sfis.cfg echo Enable=1
>>sfis.cfg echo SFIS_TIMEOUT = 25000
>>sfis.cfg echo SFIS_IP=10.5.5.!IP!
>>sfis.cfg echo SFIS_Port=5010
>>sfis.cfg echo FixtureID=!phase!_!ID!
>>sfis.cfg echo LINE=ZT4
>>sfis.cfg echo.
>>sfis.cfg echo
>>sfis.cfg echo ChipId=none
>>sfis.cfg echo FA_Debug=disable
>>sfis.cfg echo SfCheckAutoFocus=disable
>>sfis.cfg echo.
>>sfis.cfg echo
>>sfis.cfg echo R=255
>>sfis.cfg echo G=0
>>sfis.cfg echo B=0
>>sfis.cfg echo Message="ERROR!"
>>sfis.cfg echo.
>>sfis.cfg echo
>>sfis.cfg echo Enable=0
>>sfis.cfg echo ApplicationPath=fciv.exe
>>sfis.cfg echo CheckSumPath=imagefile_12MB.cks
>>sfis.cfg echo ConfigPath=param.ini
>>sfis.cfg echo BlockName=Options
>>sfis.cfg echo ItemName=UpLoadImagePath
)
12 发表于 2008-08-07 16:33 ·  中国 上海 上海地面通信息网络有限公司
中级用户
★★
积分 240
发帖 115
注册 2008-03-10 19:31
18年会员
UID 112561
性别 男
状态 离线
Originally posted by HAT at 2008-8-7 01:08:
@echo off
title set station ID for mPCIe
mode con cols=100 lines=20
setlocal enabledelayedexpansion
set /p IP=please input the IP number:
set /p ID=please input the ID number:
cd\
d: ...


echo G=^0>>sfis.cfg的问题解决了,但是还是多了个。号。
13 发表于 2008-08-07 23:00 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
哪里多了句号?鸟巢还是水立方?
14 发表于 2008-08-08 01:57 ·  中国 广东 广州 海珠区 电信
银牌会员
★★★
积分 1,206
发帖 517
注册 2007-03-25 01:18
19年会员
UID 82819
性别 男
状态 离线
哎.知道么?

批处理中。尽量不要用

cd,这样的指令呢.

要不迟早你会后悔的.
知,不觉多。不知,乃求知
15 发表于 2008-08-08 11:54 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
用cd不要紧,在后面判断一下就行了。
否则,如楼上所说,早晚要后悔。
论坛跳转: