使用随机数据创建文件的最快方法

时间:2018-04-14 20:25:55

标签: powershell

我需要创建填充了随机数据的指定大小的文件。 我不能使用任何第三方工具来实现这一点,所以我所拥有的只是所有Powershell命令。

我所拥有的内容适用于大小从1 KB到30 KB的小文件。 当文件变大时,它不能很好地扩展。

function makeFile([String]$filename, [int]$SizeInKb) {
    $str  = ""
    $size = 29 * $SizeInKb
    if (-not (Test-Path $filename)) {
        New-Item $filename -ItemType File | Out-Null
        for ($i=1; $i -le $size; $i++) {
            # A GUID is 36 characters long
            # We will create a string 29*36 (1044) characters in length and
            # multiply it with $SizeInKb
            $str += [guid]::NewGuid()
        }
        write $str to a file barring the last ($SizeInKb * 20) + 2 characters. 
        $strip_length = ($SizeInKb * 20) + 2
        ("$str").Remove(0, $strip_length) | Out-File "$filename" -Encoding ascii
    }
}

有没有更好的方法来创建包含随机数据的文件? 我正在生成GUID,然后将它们写入文件。

1 个答案:

答案 0 :(得分:10)

下面将一组随机字节写入文件并且仍然很快

修改
向Tom Blodget致敬,指出解码/编码中的问题

com.intellij.lang.xml.XMLLanguage