如何在 Windows 中创建具有独特内容的大型文件?

如何在 Windows 中创建具有独特内容的大型文件?

我需要创建一个没有重复内容的大尺寸文件,这样即使在压缩时,文件尺寸也不会缩小。

答案1

创建随机转储文件的最佳方法是在命令提示符中使用“fsutil”。

C:\>fsutil 文件 createnew another1.txt 32234567000

创建文件 C:\another1.txt

这将立即创建包含随机内容的 32GB 文件。

答案2

在 Windows 上,您可以使用 Powershell 创建包含真正独特内容的文件。无需第三方软件。无需管理员权限。

与 fsutil 相反,输出不会包含 0 或空格。每次运行该命令时,输出都是唯一的。压缩后,文件将保留其原始大小。

输出将会像这样:

䫲藌㦖鐆쩘ꌓ⮅픻씙방醒ম擾酰₵廙⊌弓똌硣浍鐟ઘ⃭佐怱쎜鼋ꄻ윤訟ᦟ맂㱆�㔭ර槗旌閣㏏⯉来殰猪肉奣鑍翴㑈Ꮪ嚠昲︇퇇뻕耣珁犒晥䒋酉懒䊿䱵漝벻玓⃸啈�펕户臓헬珎宇ꄌꖓ萿 etc....

命令

$out = new-object byte[] 100000; (new-object Random).NextBytes($out); [IO.File]::WriteAllBytes('C:\100K.txt', $out)

将其替换100000为您想要的大小(以字节为单位)。您可以使用在线转换器如果您需要帮助来确定您喜欢的尺寸。

替换C:\100K.txt为您想要的文件路径。如果您提供的名称没有路径,它将保存在您的 Windows 配置文件文件夹中(或者可能是 C:,具体取决于您的系统配置)。文件扩展名对过程没有影响。

分解

这是一系列三个命令。第一个命令创建一个名为 $out 的空数组,其大小由您指定。第二个命令用随机字符加载该数组。第三个命令将数组保存到文件中。

这是Microsoft 支持文件为了new-object

这似乎至少早在Powershell 3.0.(撰写本文时当前版本为 7.x)。

取自: https://www.digitalcitizen.life/3-ways-create-random-dummy-files-windows-given-size

限制

我可以输出最大 2G 的文件。任何更大的文件都会受到限制。例如,3G 给出:

“无法将值“3000000000”转换为类型“System.Int32”。错误:“值对于 Int32 来说太大或太小。””

这个答案展示了一种分块写入大文件的方法。基本上,用 do..while 包裹加载数组和写入文件的命令。写入需要附加到文件中。

无论数组大小有何限制,我认为您都需要考虑可用的 RAM。

答案3

在 Linux 下,最简单的方法是使用 dd 命令。Windows 版本位于http://www.chrysocome.net/dd

要创建大小为 1GB 的随机文件,您可以运行以下命令

dd if=/dev/random of=random.file bs=1M count=1000

这意味着:使用 1 MB 的块大小并读取/写入 1000 个块。

顺便说一句。在 Linux 上你应该使用/dev/urandom,但对于这个 Windows 版本,它必须是/dev/random

答案4

安装 Veracrypt。

创建一个加密容器,并将其格式化(不是快速格式化),大小随意。

这将确保内容在加密上是随机的。

或者,使用以下命令创建文件fsutil fossa 建议然后使用一次性密码本加密内容(例如,使用您丢弃的随机密码进行 AES 加密)。

相关内容