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