Board logo

标题: echo 与感叹号的问题 [打印本页]

作者: huangxiongzhe     时间: 2008-9-10 15:16    标题: echo 与感叹号的问题

我读的文本文件一行中有两个!
例如:
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
            
            )
     )
)
但是第一个!的字符丢了,
为啥呢???
作者: moniuming     时间: 2008-9-10 16:04
试试这个如何?
@echo off
set nn=0
setlocal enabledelayedexpansion
for /f "tokens=1,2* delims= " %%i in (111.txt) do (
   set /a nn+=1
   if !nn! equ 1 (>>temp.txt echo 0.002   ^^%%j   ^^%%k) else (
      if !nn! equ 2 (>>temp.txt echo !nn!   %%i   ^^%%j  ^^%%k) else (
         >>temp.txt echo %%i   ^^%%j   ^^%%k
)))
start temp.txt