获取文件属性相关!(已解决)
本帖最后由 nmgwddj 于 2010-3-20 18:45 编辑如图 如何获取到文件的这个信息??获取文件信息貌似只能获取到时间和文件属性
正在做打补丁的工具。希望高手支个招。
或者用正则 帮咱把WindowsXP-KB895961-v4-x86-CHS这个文件名替换成KB895961
正在看正则30分钟入门。我是一点都没明白过来:face (30): $Value = 'WindowsXP-KB895961-v4-x86-CHS'
$array= StringRegExp($Value, "WindowsXP-(.+)-v4-x86-CHS", 3)
for $i = 0 to UBound($array) - 1
msgbox(0, "正则" & $i, $array[$i])
Next
仅针对楼主你给出的一段字符串'WindowsXP-KB895961-v4-x86-CHS' 回复 2# lynfr8
非常感谢您的代码。
因为不同更新补丁的工具会下载出不一样的文件名。
比如刚才那个WindowsXP-KB895961-v4-x86-CHS
还有可能是KB895961
或者KB895961-v4-x86-CHS等等。
正则的确不会太用 请教您了。希望能帮忙给改一下 你把文件列表用textcatch捕捉一份贴上来 回复 4# lynfr8
WindowsXP-KB895961-v4-x86-CHS
目的很简单。假设上边这段文字。除KB895961以外的全部删除! 还是谢谢你了。稍微改了下代码。可以达到目的了
$Value = 'WindowsXP-KB895961-v4-x86-CHS'
$array= StringRegExp($Value, ".*(KB.+)", 3)
for $i = 0 to UBound($array) - 1
msgbox(0, "正则" & $i, $array[$i])
Next
用StringMid在分吧 本帖最后由 afan 于 2010-3-20 19:43 编辑
回复 6# nmgwddj $Str = 'WindowsXP-KB895961-v4-x86-CHS'
;$Str = 'KB895961-v4-x86-CHS' ;这个也行
;$Str = 'KB895961' ;这个也行
$Str = StringRegExpReplace($Str, '.*?(KB\d+)[^\d]*?.*', '$1')
Msgbox(0, 0, $str) 新手!学习中! 谢谢afan 你的代码同样可以。不用加StringMid了 新手!学习中! 本帖最后由 netegg 于 2010-4-6 12:55 编辑
# include<array.au3>
$aArray = stringsplit($word, '-')
$i = _arraysearch($aArray, 'KB', 0, 0, 0, 1)
msgbox('','', $aArray[$i]) 楼上的是尽量避开正则啊:face (26):
不逼到一定程度绝对不会用:face (26): 惭愧,我不会正则 同样。都是这么被逼出来的:face (13): 本帖最后由 netegg 于 2010-4-6 13:01 编辑
个人一直认为正则只是在大量重复使用同类型同结构字符串的时候,效率高,不过调试的时候,未必
用scite里面的精简代码可见一斑,那个替换完了几乎全是正则
页:
[1]