标题: [文本处理] [已解决]批处理是否可以定义在FOR语句中变量的类型? [打印本页]
作者: playinthesky 时间: 2011-7-2 18:28 标题: [已解决]批处理是否可以定义在FOR语句中变量的类型?
本帖最后由 playinthesky 于 2011-7-2 22:28 编辑
- @echo off&setlocal enabledelayedexpansion
- for /r %%a in (*.txt) do (
- echo %%a
- )
- for /r %%b in (*.txt) do (
- echo %%b
- )
复制代码
比方说变量a,是否可以定义成仅为0-9之内的数值,变量b为A-Z之间的字母,是否可以把变量定义一个范围?求教,谢谢大家。
是限定出现的范围,只能显示0-9和A-Z的文字,
比方说有篇文章,内容是
我1234567爱zzzzssssddddd你
那显示出来就只能是
1234567zzzzssssddddd
自动忽略其他字符
或者
#@¥%¥……%&你为什么1234爱爱2222爱啊aa啊_++++
最后输出的时候 就只显示 12342222aa
作者: ArdentMan 时间: 2011-7-2 18:39
楼主想达到什么目的呢?
作者: jiulong 时间: 2011-7-2 19:29
- for /l %%a in (1,1,10) do echo %%a
复制代码
这样可以不?
如果不行就用复制代码
随机参数获取
作者: 601997526 时间: 2011-7-2 19:44
没看懂楼主的意思
如果是想要在for中只显示九次可以用set/a a+=1&if not !a! leq 9 echo %%a
如果是想要只显示以字母a-z开头的文件名可以用echo %%b|findstr "^[a-z].*$"
作者: playinthesky 时间: 2011-7-2 20:54
是限定出现的范围,只能显示0-9和A-Z的文字,
比方说有篇文章,内容是
我1234567爱zzzzssssddddd你
那显示出来就只能是
1234567zzzzssssddddd
自动忽略其他字符
作者: CrLf 时间: 2011-7-2 20:54
记得听别人说过,批处理中的变量是“弱类型”变量
作者: ArdentMan 时间: 2011-7-2 21:36
- Dim FSO, vbStr
- Set FSO = CreateObject("Scripting.FileSystemObject")
- vbStr = FSO.OpenTextFile("a.txt").ReadAll()
- Set FSO = Nothing
- MsgBox RegText(vbStr)
-
- Function RegText(RgStr)
- Dim REGEX
- Set REGEX = New RegExp
- REGEX.Global = True
- REGEX.IgnoreCase = True
- REGEX.Pattern = "[^1-9A-Z\s]*([1-9A-Z\s]*)[^1-9A-Z\s]*"
- RegText = REGEX.Replace(RgStr, "$1")
- Set REGEX = Nothing
- End Function
复制代码
作者: CUer 时间: 2011-7-3 11:55
- sed "s/[^0-9a-zA-Z]//g" a.txt
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |