中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 18:40
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » echo 的一个问题 查看 773 回复 8
楼 主 echo 的一个问题 发表于 2008-09-10 12:16 ·  中国 上海 浦东新区 电信
初级用户
积分 26
发帖 10
注册 2008-09-10 09:24
17年会员
UID 125286
性别 男
状态 离线
我想echo一个感叹号!到文件,怎么没有反应???
2 继续 发表于 2008-09-10 12:18 ·  中国 上海 浦东新区 电信
初级用户
积分 26
发帖 10
注册 2008-09-10 09:24
17年会员
UID 125286
性别 男
状态 离线
忘了, 在批处理文件中
3 发表于 2008-09-10 12:27 ·  中国 四川 成都 电信
中级用户
★★
积分 297
发帖 135
注册 2006-10-21 12:00
19年会员
UID 67627
性别 男
状态 离线
@echo off
echo !
SETLOCAL ENABLEDELAYEDEXPANSION
echo ^^!
pause
4 发表于 2008-09-10 12:43 ·  中国 上海 上海地面通信息网络有限公司
中级用户
★★
积分 240
发帖 115
注册 2008-03-10 19:31
18年会员
UID 112561
性别 男
状态 离线
直接运行: echo ! >>123.txt就好了啊。
5 发表于 2008-09-10 13:38 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
开启变量延迟扩展以后,记得在合适的地方关闭。
@echo off
setlocal enabledelayedexpansion
echo ^^!>a.txt
endlocal
echo !>b.txt
6 继续 发表于 2008-09-10 13:41 ·  中国 上海 浦东新区 电信
初级用户
积分 26
发帖 10
注册 2008-09-10 09:24
17年会员
UID 125286
性别 男
状态 离线
在批处理文件的for循环中
7 谢谢 发表于 2008-09-10 13:42 ·  中国 上海 浦东新区 电信
初级用户
积分 26
发帖 10
注册 2008-09-10 09:24
17年会员
UID 125286
性别 男
状态 离线
太谢谢了!!!
8 问题继续 发表于 2008-09-10 13:55 ·  中国 上海 浦东新区 电信
初级用户
积分 26
发帖 10
注册 2008-09-10 09:24
17年会员
UID 125286
性别 男
状态 离线
我读的文本文件一行中有两个!
例如:
0.2 !P_huang1 !P_huang2
然后我用
set nn=0
setlocal enabledelayedexpansion
for /f "tokens=1,2* delims= " %%i in (111.txt) do (
set /a nn+=1

if !nn! equ 1 (
echo 0.002 ^^!%%j %%k>>temp.txt
) else (
if !nn! equ 2 (
echo !nn! %%i ^^!%%j %%k>>temp.txt

) else (
echo %%i ^^!%%j %%k>>temp.txt

)
)
)
但是第一个!的字符丢了,
为啥呢???
9 Re 6楼 发表于 2008-09-10 13:55 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
在哪里不是一样吗
@echo off
setlocal enabledelayedexpansion
for /l %%a in (1,1,5) do (
echo ^^!>>a.txt
)
endlocal
for /l %%a in (1,1,5) do (
echo !>>b.txt
)
论坛跳转: