input.txt
--------------
<input name=id value=1842 type=hidden>
--------------
我想要得到 value 后面的那个值 1842
用的代码是:
FOR /F "tokens=3" %%a IN (input.txt) do (
echo id=%%a
)
可是 后来测试几个 发现 input.txt 中的内容是会这样变化的:( input.txt 这个文件也是 find 一个网页生成的 )
<input type=hidden name=id value=1842>
原来的代码 就不成了 盼望朋友们指点迷津
谢谢你们了
====================================
回复 2 楼 namejm 朋友,
先谢谢 namejm 朋友的热心帮助 谢谢你
我刚测试了下代码
@echo off
setlocal enabledelayedexpansion
FOR /F "tokens=1-3* delims==" %%i IN (input.txt) do (
set var1=%%i
set var2=%%j
set var3=%%k
set var4=%%l
echo !var1:~1,1!|findstr /r "">nul && echo !var1:~0,4!
echo !var2:~1,1!|findstr /r "">nul && echo !var2:~0,4!
echo !var3:~1,1!|findstr /r "">nul && echo !var3:~0,4!
echo !var4:~1,1!|findstr /r "">nul && echo !var4:~0,4!
)
pause
这个真的可以提取到数字 不过 那个 value 的值长好象是不固定的 会有蛮大数字出现的情况
第二个代码 我用下面这个内容测试
<input type=hidden name=id value=465974855>
输出这样:
value=465974855~0,1intercept " ~1 "
ps:呵呵 这个代码我的机子运行起来有点久 -_-||
我的系统是 sp2
我之前1楼的问题描述有点模糊 提供的信息不够多 我补充点点 ^-^
我测试了几个 input.txt ( 单行的文本 )
目前为止 发现内容是类似这样的:
情况 a:
<input type=hidden name=id value=465974855>
<input type=hidden name=id value=1820988170>
<input type=hidden name=id value=1008964101>
情况 b:
<input name=id value=465974855 type=hidden>
<input name=id value=1820988170 type=hidden>
value 的值的位数好象是变化的
还有一个,似乎只有两种不同的情况,就是 type=hidden 的这个在的位置不同,像这样的情况,可不可以判断 type=hidden 在的位置 然后分情况用这个来处理呢?
情况 a:
FOR /F "tokens=4" %%a IN (input.txt) do (
echo id=%%a
)
情况 b:
FOR /F "tokens=3" %%a IN (input.txt) do (
echo id=%%a
)
呵呵 大家别笑 我想到的法子都是比较那个的
=========结束语=======================
在论坛朋友们的热心帮助下 又解决了一问题
点拨大恩无以回报 唯有……
谢谢
[ Last edited by h2o on 2006-10-17 at 01:55 ]
--------------
<input name=id value=1842 type=hidden>
--------------
我想要得到 value 后面的那个值 1842
用的代码是:
FOR /F "tokens=3" %%a IN (input.txt) do (
echo id=%%a
)
可是 后来测试几个 发现 input.txt 中的内容是会这样变化的:( input.txt 这个文件也是 find 一个网页生成的 )
<input type=hidden name=id value=1842>
原来的代码 就不成了 盼望朋友们指点迷津
谢谢你们了
====================================
回复 2 楼 namejm 朋友,
先谢谢 namejm 朋友的热心帮助 谢谢你
我刚测试了下代码
@echo off
setlocal enabledelayedexpansion
FOR /F "tokens=1-3* delims==" %%i IN (input.txt) do (
set var1=%%i
set var2=%%j
set var3=%%k
set var4=%%l
echo !var1:~1,1!|findstr /r "">nul && echo !var1:~0,4!
echo !var2:~1,1!|findstr /r "">nul && echo !var2:~0,4!
echo !var3:~1,1!|findstr /r "">nul && echo !var3:~0,4!
echo !var4:~1,1!|findstr /r "">nul && echo !var4:~0,4!
)
pause
这个真的可以提取到数字 不过 那个 value 的值长好象是不固定的 会有蛮大数字出现的情况
第二个代码 我用下面这个内容测试
<input type=hidden name=id value=465974855>
输出这样:
value=465974855~0,1intercept " ~1 "
ps:呵呵 这个代码我的机子运行起来有点久 -_-||
我的系统是 sp2
我之前1楼的问题描述有点模糊 提供的信息不够多 我补充点点 ^-^
我测试了几个 input.txt ( 单行的文本 )
目前为止 发现内容是类似这样的:
情况 a:
<input type=hidden name=id value=465974855>
<input type=hidden name=id value=1820988170>
<input type=hidden name=id value=1008964101>
情况 b:
<input name=id value=465974855 type=hidden>
<input name=id value=1820988170 type=hidden>
value 的值的位数好象是变化的
还有一个,似乎只有两种不同的情况,就是 type=hidden 的这个在的位置不同,像这样的情况,可不可以判断 type=hidden 在的位置 然后分情况用这个来处理呢?
情况 a:
FOR /F "tokens=4" %%a IN (input.txt) do (
echo id=%%a
)
情况 b:
FOR /F "tokens=3" %%a IN (input.txt) do (
echo id=%%a
)
呵呵 大家别笑 我想到的法子都是比较那个的
=========结束语=======================
在论坛朋友们的热心帮助下 又解决了一问题
点拨大恩无以回报 唯有……
谢谢

[ Last edited by h2o on 2006-10-17 at 01:55 ]


