Board logo

标题: echo 的一个问题 [打印本页]

作者: huangxiongzhe     时间: 2008-9-10 12:16    标题: echo 的一个问题

我想echo一个感叹号!到文件,怎么没有反应???
作者: huangxiongzhe     时间: 2008-9-10 12:18    标题: 继续

忘了, 在批处理文件中
作者: zqz0012005     时间: 2008-9-10 12:27

@echo off
echo !
SETLOCAL ENABLEDELAYEDEXPANSION
echo ^^!
pause

作者: terrytong     时间: 2008-9-10 12:43
直接运行: echo ! >>123.txt就好了啊。
作者: HAT     时间: 2008-9-10 13:38
开启变量延迟扩展以后,记得在合适的地方关闭。
@echo off
setlocal enabledelayedexpansion
echo ^^!>a.txt
endlocal
echo !>b.txt

作者: huangxiongzhe     时间: 2008-9-10 13:41    标题: 继续

在批处理文件的for循环中
作者: huangxiongzhe     时间: 2008-9-10 13:42    标题: 谢谢

太谢谢了!!!
作者: huangxiongzhe     时间: 2008-9-10 13:55    标题: 问题继续

我读的文本文件一行中有两个!
例如:
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
            
            )
     )
)
但是第一个!的字符丢了,
为啥呢???
作者: HAT     时间: 2008-9-10 13:55    标题: Re 6楼

在哪里不是一样吗
@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
)