以前使用按键精灵获取过指定文件夹下的随机行,实际上详细点说应该是“获取指定的文件夹--目录下随机TXT文件--文件中的随机一行”,使用本方法可以随机组合出标题或用于其他用途。

今天我又重新看到这篇文章,整理出精简版,可以实现按键精灵获取随机文件夹下的随机行;

取文件夹下随机文件的随机行
Function 取随机文件夹下随机行(文件夹路径)
//a.调用文件夹内的随机文件
FileEx = FindAllFiles(文件夹路径)
If UBound(FileEx) > 0 Then
随机文件名 = FileEx(int(rnd * UBound(FileEx)))
TXT路径 = 文件夹路径 + "\" + 随机文件名
TracePrint "目前准备调用 [" + TXT路径 + "] 下的随机行"
End If
//b.调用随机文件内的随机行
Text = Plugin.File.ReadFileEx(TXT路径)
随机行 = Split(Text, "|")
取随机文件夹下随机行 = 随机行(Int((UBound(随机行) * Rnd) + 0))
End Function

很多人在运行上述代码的时候总是遗忘了写入启动遍历所有文件的函数,将所有代码组合起来后如下:

//初始化随机数生成器  
Randomize  
//初始化随机数生成器函数  
FunctionFindAllFiles(FolderPath)//初始化查找文件  
DimAllFiles,fso,Folder,f,files  
AllFiles=""  
Setfso=CreateObject("Scripting.FileSystemObject")  
SetFolder=fso.getfolder(FolderPath)  
Setfiles=Folder.files  
ForEachfInfiles  
AllFiles=AllFiles&f.name&","  
Next  
Setfso=Nothing  
FindAllFiles=Split(AllFiles,",")  
EndFunction  
//--------------------------------------------------------------------  
Function取随机文件夹下随机行(文件夹路径)  
//a.调用文件夹内的随机文件  
FileEx=FindAllFiles(文件夹路径)  
IfUBound(FileEx)>0Then  
随机文件名=FileEx(int(rnd*UBound(FileEx)))  
TXT路径=文件夹路径+"\"+随机文件名  
TracePrint"目前准备调用["+TXT路径+"]下的随机行"  
EndIf  
//b.调用随机文件内的随机行  
Text=Plugin.File.ReadFileEx(TXT路径)  
随机行=Split(Text,"|")  
取随机文件夹下随机行=随机行(Int((UBound(随机行)*Rnd)+0))  
EndFunction  
For5  
地名=取随机文件夹下随机行("C:\TXT\通用\地名\全国广泛")  
组合=地名+"屋顶有限公司"  
CallPlugin.File.WriteFileEx("C:\Users\AsWait\Desktop\组合.txt",组合)  
Delay100  
Next

上述代码你自行配置和扩充之后,即可做出组合随机标题的程序。