Ich suche nach einer Anwendung, die eine Datei beliebiger Größe erstellt, die mit pseudozufälligen Daten gefüllt ist.
Muss in der Lage sein, Dateien mit einer Größe von mindestens 1 GB zu erstellen (größer ist besser).
Die Anwendung muss innerhalb von Windows funktionieren , kann aber eine GUI haben oder ein Befehlszeilen-Tool- CLI sein .
Die Daten müssen nicht wirklich zufällig, sondern nur pseudozufällig sein.
Die Software muss kostenlos sein .
Ich bevorzuge portable und Open-Source- Software, aber beides ist keine Voraussetzung.
Hinweis : Windows 7 SP1 ist die niedrigste Version von Windows, die unterstützt werden muss.
Sie können den Random Data File Creator (RDFC) verwenden.
Random Data File Creator, kurz RDFC, ist eine Konsolenanwendung für Microsoft Windows, mit der Binärdateien beliebiger Größe erstellt werden können, die mit Zufallszahlen gefüllt sind. So können beispielsweise Entwickler sehr große Dateien (z. B. 1 TB) erstellen, um zu testen, wie ihre eigene Anwendung damit umgeht.
Hier ist ein Test, den ich gerade unter Windows 10 ausgeführt habe, um eine 100-MB-Datei zu erstellen:
rdfc file.bin 100 MB
Die Anwendung ist Freeware und portabel (es erfordert keine Installation).
Sie können Dummy File Creator verwenden :
Dummy File Creator 1.2 schreibt zufällige Bytes im Bereich von 0 bis 255. Im Gegensatz zur vorherigen Version, die echte zufällige Dateiinhalte generiert, verwendet Dummy File Creator 1.2 einen anderen Ansatz bei der zufälligen Inhaltsgenerierung, um die Leistung der zufälligen Inhaltsgenerierung zu steigern. Dummy File Creator generiert jetzt 4 MB zufällige Daten und verwendet dieselben Daten wieder, indem er nur einige Bytes an zufälligen Stellen für jeden nachfolgenden Schreibvorgang ändert. Das Ergebnis besiegt zwar immer noch die gesamte von uns getestete Komprimierungssoftware (dh eine größere komprimierte Datei als die Originalgröße), aber es ist immer noch möglich, diesen pseudozufälligen Inhalt zu komprimieren, wenn ein speziell entwickelter Komprimierungsalgorithmus auf Dummy File Creator abzielt (sehr unwahrscheinlich ) wird genutzt. Um einen solchen Algorithmus zu entwerfen, muss er Wörterbuchwörter mit einer Länge im Bereich von 1 bis 4.194.303 Bytes verwenden.
dd für Windows ist portabel und Open Source .
Es ist die Windows-Version des beliebten Dienstprogramms dd für Unix .
Hier ist ein Beispiel für die Erstellung einer 100-MB-Datei:
dd bs=100M count=1 if=/dev/random of=C:\tmp\file.dat --progress
Ich habe Version 0.5 unter Windows 10 verwendet.
Python ist kostenlos, kostenlos & Open Source und plattformübergreifend und kann als Skript oder interaktiv verwendet werden - je nach Art der zufälligen Inhalte, die Sie benötigen, ist es so einfach wie:
from random import randint
desired_size = 1024*1024*1024 # 1 GByte
with open('RandomData.dat', 'wb') as outfile: # Open for binary output
for x in xrange(desired_size):
outfile.write(chr(randint(0,255))) # Write a random byte
print 'Done.'
Sie können das Obige natürlich erweitern, um den Dateinamen und die gewünschte Größe abzufragen oder auf der Befehlszeile zu erhalten, den Bereich einzuschränken oder zufälligen Text auszugeben usw.
In Python 3, um 25 Dateien mit jeweils 10 GB zu generieren:
import os
desired_size = 1024*1024*1024*10 # 10 GBytes
desired_number_of_files = 25
for file_number in range(desired_number_of_files):
filename = 'output_file{0:04d}.dat'.format(file_number)
print('filename: {0}'.format(filename))
with open(filename, 'wb') as fout: fout.write(os.urandom(desired_size))
print('Done.')
Die Zeile, die die Daten generiert (dh die Zeile mit urandom
) stammt von Jon Clements auf Creating random binary files . Falls Sie sich fragen: Was ist der Unterschied zwischen os.urandom() und random? .
Die Geschwindigkeit auf meinem Computer (Microsoft Windows 10) beträgt etwa 250 MB/Sekunde.
os.urandom(desired_size)
generiert zuerst eine 10 GiB lange Zeichenfolge, die RAM benötigt. Dann übergibst du es an write()
. Sie müssen diese große Zeichenfolge in Blöcken generieren.Cygwin .
Es handelt sich praktisch um die üblichen Befehlszeilen-Unix/Linux-Tools, die auf Windows portiert wurden.
dd if=/dev/random of=file.img bs=1048576 count=10240
... oder so, funktioniert auch hier, wie in der hervorragenden Antwort von @mguassa.
Windows verfügt über einen integrierten Befehl (funktioniert bei einer Neuinstallation ohne Software von Drittanbietern, muss jedoch als Administrator ausgeführt werden)
fsutil file createnew bigfile.out 10737418240
Erläuterung der Option: bigfile.out - die Datei, die erstellt wird (kann den vollständigen Pfad enthalten) 10737418240 - Dateigröße in Bytes (hier 10 GB)
Marginiert
mguassa
Tolach