cs8901 发表于 2015-2-3 19:56:25

随机读取文本内容而不重复,要加定义变量还是?

小弟这几天苦研AU3奈何自己得一个人,百度了N次,也来论坛N次,找到很多,有很多也没找到,问个问题,有一个TXT文档,里面有300个批处理的名字如1.bat2.bat 3.bat如何能做到随机读取而不重复,我试过FileReadLine 但是数量越少重复读取的就越多,想到头都爆了,都想不出来,然后又想这通过当前计算机名来充当一个变量,比如读取当前计算机名为001,然后读取的值就为1,然后读取文本的行数就变为1+1等2行,递进方式来防止重复,但这样又不随机了,唉,还是觉得第一种方法是可以实现的,即随机读取,不重复,请大大指点一下

cs8901 发表于 2015-2-3 19:57:00

小弟在线等..

afan 发表于 2015-2-3 20:11:56

方法很多…#include <Array.au3>

Local $aLine = StringRegExp(FileRead('test.txt'), '\V+', 3)
If @Error Then Exit
Local $iC = UBound($aLine) - 1, $i, $iRd, $vTmp
For $i = 0 To $iC
        $iRd = Random($i, $iC, 1)
        $vTmp = $aLine[$i]
        $aLine[$i] = $aLine[$iRd]
        $aLine[$iRd] = $vTmp
Next
_ArrayDisplay($aLine)

cs8901 发表于 2015-2-3 21:50:45

谢谢版主,这么热心帮小弟解决问题,又学到东西了,发现这个论坛越来越强大了

kaix 发表于 2015-2-4 00:48:18

回复 3# afan


酷..........................

nqawen 发表于 2015-2-5 10:06:02

a大好牛啊。学习中,谢谢

ak47gglllk 发表于 2015-2-11 10:10:41

感谢,感谢,学习了,非常感谢

deaph 发表于 2015-2-11 11:07:53

学习了,感谢分享!

fyq 发表于 2015-5-10 16:32:52

好好学习,天天向上
页: [1]
查看完整版本: 随机读取文本内容而不重复,要加定义变量还是?