Board logo

标题: 求把TXT每行设为两个变量 [打印本页]

作者: ld20010     时间: 2010-1-28 19:42    标题: 求把TXT每行设为两个变量

有一个TXT格式如下:

...SYEY{A}327RJH...
...21DD21{A}327RJH33...
...................
..21DD2REDF1{A}327RJH33...

怎么把 {A} 两边的字符各设为一个变量调用?
作者: radem     时间: 2010-1-29 16:11
只设一行两个变量
@echo off
for /f "tokens=1-3 delims={}" %%a in (ta.txt) do (
set str1=%%a
set str2=%%c
)
echo.%str1%
echo.%str2%
pause

作者: hhsccw     时间: 2010-1-29 18:09
高手。
作者: ld20010     时间: 2010-1-30 10:35
可以设为两个变量,但有一个问题:如果ta.txt的某行中有  & 或^ 或[]或<等符号时就没有输出变量,如果有> 或>>,这些符号后面部份会生成一个文件.
作者: radem     时间: 2010-1-30 12:32

@echo off
for /f "tokens=1-3 delims={}" %%a in ('findstr /n .* ta.txt') do (
     set str1=%%a
     set str2=%%c
     setlocal enabledelayedexpansion
     set str1=!str1:*:=!
     set str2=!str2:*:=!
     echo.!str1!
     echo.!str2!
     endlocal
)
pause