VBScript - 使用x行随机文本生成文件

时间:2011-09-14 13:31:49

标签: scripting vbscript

生成具有指定行数的文件需要什么代码。

即。有一些名为num_lines = 8743的变量 然后为每一行生成一个长度在200到300个字符之间的随机字符串。

将其保存到文件中。

开始随机化的代码:

For x=200 To 300
    Randomize
    vChar = Int(89*Rnd) + 33
    Rndz = Rndz & Chr(vChar)
  Next

2 个答案:

答案 0 :(得分:3)

您可以使用第一个函数创建随机字符串:

Function RandomString( ByVal strLen )
    Dim str
    Const LETTERS = "abcdefghijklmnopqrstuvwxyz0123456789"
    Randomize
    For i = 1 to strLen
        str = str & Mid( LETTERS, Int(strLen*Rnd+1) )
    Next
    RandomString = str
End Function

Source

然后将其写入文件,感谢Scripting.FileSystemObject

Const ForAppending = 8
Const max = 300
Const min = 200
Dim i As integer, lLines As Long
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile _
    ("c:\scripts\service_status.txt", ForAppending, True)
Randomize
For i = 1 To num_lines
   lLines = Int((max-min+1)*Rnd+min) 
   objTextFile.WriteLine(RandomString(lLines))
Next
objTextFile.Close

Source

答案 1 :(得分:1)

以下是答案中RandomString函数的修复:

Function RandomString( ByVal strLen )
    Dim str, min, max

    Const LETTERS = "abcdefghijklmnopqrstuvwxyz0123456789"
    min = 1
    max = Len(LETTERS)

    Randomize
    For i = 1 to strLen
        str = str & Mid( LETTERS, Int((max-min+1)*Rnd+min), 1 )
    Next
    RandomString = str
End Function

另一个函数被破坏,并且错误地从salt字符串中获取一个随机字符。此函数将返回包含字母和/或数字的随机字符串。