我一个TXT文本有如下内容:
05.05.31: 108896 908045(X) 918178 918089(X) plp
05.06.13: 108933 108768
05.06.29: 108949 108926
05.08.11: 918131(X)
05.10.13: 108722
05.10.17: 108912
05.11.04: 108016
05.11.10: 858001 858002 928050 928068
05.11.25: 828166
05.11.30: 928098 928168
05.12.02: 108590 108668 108527
05.12.27: 928186
我想知道里面有多少个"928"开的的数组,例如"928098"
我的命令是这样的
for /f %%i in ('find " 928*" 1.txt ') do (set t+=1)
pause :::
我直接用 find " 928" 能在 1.txt中找到这样的结果:
---------- 1.TXT
05.11.10: 858001 858002 928050 928068
05.11.30: 928098 928168
05.12.27: 928186
按4楼的讲解,我对find的理解是:find 是一行一行的找过去,只要有他需要找的东西,他就会显示一行的内容。但为什么我用“ 928*”却什么也找不到呢?
还有就是for /f "tokens=*"是取所有符号传递给FOR程序体吗,我直接不把 "tokens=*"打出来 ,他默认也是取所有的吧,像 for /f %%i in
for /f "tokens=*" %%i in
2个的意思是一样的吗?
tokens=1* 这个是取每行的第一个字符吗,那为什么后面要打*呢
我看FOR 的注释,他是tokens=2,3*这样用,
我对这句话的理解是取每行第一个字符给FOR程序本体,有”*“的话就可以扩展去第二个,和第三个一直到范围边缘。如果1后面没跟”*“的话。就只取一个,不能扩展是吗?
[ Last edited by THENEWLIFE on 2009-6-4 at 00:08 ]
05.05.31: 108896 908045(X) 918178 918089(X) plp
05.06.13: 108933 108768
05.06.29: 108949 108926
05.08.11: 918131(X)
05.10.13: 108722
05.10.17: 108912
05.11.04: 108016
05.11.10: 858001 858002 928050 928068
05.11.25: 828166
05.11.30: 928098 928168
05.12.02: 108590 108668 108527
05.12.27: 928186
我想知道里面有多少个"928"开的的数组,例如"928098"
我的命令是这样的
for /f %%i in ('find " 928*" 1.txt ') do (set t+=1)
pause :::
我直接用 find " 928" 能在 1.txt中找到这样的结果:
---------- 1.TXT
05.11.10: 858001 858002 928050 928068
05.11.30: 928098 928168
05.12.27: 928186
按4楼的讲解,我对find的理解是:find 是一行一行的找过去,只要有他需要找的东西,他就会显示一行的内容。但为什么我用“ 928*”却什么也找不到呢?
还有就是for /f "tokens=*"是取所有符号传递给FOR程序体吗,我直接不把 "tokens=*"打出来 ,他默认也是取所有的吧,像 for /f %%i in
for /f "tokens=*" %%i in
2个的意思是一样的吗?
tokens=1* 这个是取每行的第一个字符吗,那为什么后面要打*呢
我看FOR 的注释,他是tokens=2,3*这样用,
我对这句话的理解是取每行第一个字符给FOR程序本体,有”*“的话就可以扩展去第二个,和第三个一直到范围边缘。如果1后面没跟”*“的话。就只取一个,不能扩展是吗?
[ Last edited by THENEWLIFE on 2009-6-4 at 00:08 ]
