Dans la même veine que Créer rapidement un gros fichier sur un système Linux , je voudrais créer rapidement un gros fichier sur un système Windows. En gros, je pense à 5 Go. Le contenu n'a pas d'importance. Une commande intégrée ou un fichier batch court serait préférable, mais j'accepterai une application s'il n'y a pas d'autres moyens faciles.
windows
batch-file
Leigh Riffel
la source
la source
fsutil file createnew
ne crée PAS de fichiers clairsemés:c:\>fsutil file createnew test.txt 0x100000
File c:\test.txt is created
c:\>fsutil sparse queryflag test.txt
This file is NOT set as sparse
Vous pouvez utiliser l' outil Sysinternals Contig . Il a un
-n
commutateur qui crée un nouveau fichier d'une taille donnée. Contrairement àfsutil
cela, il ne nécessite pas de privilèges administratifs.la source
contig
va effectivement au dernier octet et écrit un seul0
là (il suffit de regarder avec Process Monitor). Windows remplit ensuite le reste de zéros. C'est probablement aussi efficace que possible avec des fichiers non clairsemés et la création d'un fichier d'environ 5 Gio ne prend que quelques secondes, même sur mon disque dur. Je suppose qu'à l'époque, j'ai essayé soit sur un SSD ou avec des fichiers plus petits. Mais c'est plutôt rapide (et certainement plus rapide que d'écrire vous-même tous les octets du fichier vide.Je cherchais un moyen de générer de gros fichiers avec des données, pas seulement des fichiers clairsemés. Je suis tombé sur la technique ci-dessous :
la source
echo "This is just a sample line appended to create a big file.. " > dummy.txt for /L %i in (1,1,14) do type dummy.txt >> dummy.txt
(Exécutez les deux commandes ci-dessus l'une après l'autre ou vous pouvez les ajouter à un fichier de commandes.) Les commandes ci-dessus créent un fichier dummy.txt de 1 Mo en quelques secondes.Consultez RDFC http://www.bertel.de/software/rdfc/index-en.html
RDFC n'est probablement pas le plus rapide, mais il alloue des blocs de données. Le plus rapide devrait utiliser une API de niveau inférieur pour obtenir simplement des chaînes de cluster et les mettre dans MFT sans écrire de données.
Attention, il n'y a pas de solution miracle ici - si la "création" revient instantanément, cela signifie que vous avez un fichier clairsemé qui ne fait que truquer un gros fichier, mais vous n'obtiendrez pas de blocs / chaînes de données jusqu'à ce que vous y écriviez. Si vous venez de lire, vous obtiendrez des zéros très rapides, ce qui pourrait vous faire croire que votre lecteur est soudainement devenu extrêmement rapide :-)
la source
Vérifiez les outils du Kit de ressources Windows Server 2003 . Il existe un utilitaire appelé Creatfil.
Il est similaire à mkfile sur Solaris.
la source
J'avais besoin d'un fichier régulier de 10 Go pour les tests, donc je ne pouvais pas l'utiliser
fsutil
car il crée des fichiers clairsemés (merci @ZXX).Je voulais créer un fichier de 10 Go, mais pour une raison quelconque, il n'apparaissait que comme 4 Go, donc je voulais être en sécurité et arrêté à 4 Go. Si vous voulez vraiment être sûr que votre fichier sera géré correctement par le système d'exploitation et d'autres applications, arrêtez de l'étendre à 1 Go.
la source
rm
est un système Unix / Linux commande, tout endel
est une commande / DOS sous Windows ...?%i
mais dans un fichier de commandes, vous utilisez le signe de pourcentage double, comme%%i
.@echo off
, donc c'est évidemment un.bat
. C'est pourquoi il avait des signes de double pourcentage.file-4gb.txt
avant de le créer? Cela n'entraînerait-il pas une erreur? Vouliez-vous réellement créerfile-4gb.txt
sur cette ligne? Ou renommer l'ancienfile-big.txt
fichier? Ce n'est pas clair, même pour un fichier de commandes. Si vous vouliez le renommer, alors la commande que vous cherchiez est probablementren
. Commeren file-big.txt file-4gb.txt
. Je pense que vous l'avez confondu avecrm
.Ouvrez le Gestionnaire des tâches de Windows, trouvez le plus gros processus que vous avez exécuté, cliquez avec le bouton droit et cliquez sur
Create dump file
.Cela créera un fichier relatif à la taille du processus en mémoire dans votre dossier temporaire.
Vous pouvez facilement créer un fichier de taille en gigaoctets.
la source
À moins d'écrire une application complète, nous, les gars de Python, pouvons obtenir des fichiers de n'importe quelle taille avec quatre lignes, le même extrait sur Windows et Linux (la
os.stat()
ligne n'est qu'un contrôle):la source
PowerShell one-liner pour créer un fichier
C:\Temp
pour remplir le disque C: ne laissant que 10 Mo:la source
Utilisation:
la source
int
? Est-ce que cela fonctionnera pour un fichier de 5 Go? Est-ce limité à 2 ou 4 Go? Le fait que le troisième paramètre àSetFilePointer()
0 indique qu'il ne fonctionnera pas pour un fichier de 5 Go.Je cherchais un moyen de créer un grand fichier factice avec une allocation d'espace récemment. Toutes les solutions semblent maladroites. Enfin, je viens de démarrer l'
DISKPART
utilitaire sous Windows (intégré depuis Windows Vista):Où MAXIMUM est la taille du fichier résultant, 20 Go ici.
la source
J'ai trouvé un excellent utilitaire configurable sur https://github.com/acch/genfiles .
Il remplit le fichier cible avec des données aléatoires, il n'y a donc aucun problème avec les fichiers clairsemés et pour mes besoins (test des algorithmes de compression), il donne un bon niveau de bruit blanc.
la source
Les fichiers temporaires doivent être stockés dans le dossier temporaire Windows. Sur la base de la réponse de Rod, vous pouvez utiliser la doublure suivante pour créer un fichier temporaire de 5 Go qui renvoie le nom de fichier
Explication:
[System.IO.Path]::GetTempFileName()
génère un nom de fichier aléatoire avec une extension aléatoire dans le dossier temporaire de Windows[System.IO.File]::Create($_)
auquel crée le fichier.SetLength(5gb)
. J'ai été un peu surpris de découvrir que PowerShell prend en charge la conversion d'octets , ce qui est vraiment utile..close
pour permettre à d'autres applications d'y accéder;$_
le nom de fichier est retourné et avec| ? { $_ }
il est garanti que seul le nom de fichier est retourné et non la chaîne vide retournée par[System.IO.File]::Create($_)
la source
Le moyen le plus simple que j'ai trouvé est cet utilitaire gratuit: http://www.mynikko.com/dummy/
Crée des fichiers factices de taille arbitraire qui sont remplis d'espaces ou remplis de contenu non compressible (votre choix). Voici une capture d'écran:
la source
Plain ol 'C ... cela se construit sous MinGW GCC sur Windows XX et devrait fonctionner sur n'importe quelle plate-forme C "générique".
Il génère un fichier nul d'une taille spécifiée. Le fichier résultant n'est PAS seulement une entrée occupant l'espace du répertoire, et occupe en fait le nombre spécifié d'octets. Ceci est rapide car aucune écriture réelle ne se produit, à l'exception de l'octet écrit avant la fermeture.
Mon instance produit un fichier plein de zéros - cela peut varier selon la plateforme; ce programme configure essentiellement la structure de répertoires pour toutes les données qui traînent.
la source
J'ai trouvé une solution en utilisant DEBUG sur http://www.scribd.com/doc/445750/Create-a-Huge-File , mais je ne connais pas de moyen facile de l'écrire et il ne semble pas pouvoir pour créer des fichiers de plus de 1 Go.
la source
... 1 Mo de fichier dummy.txt en quelques secondes.
Voir ici: http://www.windows-commandline.com/how-to-create-large-dummy-file/
la source
Vous pouvez utiliser la commande cat powershell.
Créez d'abord un fichier texte simple avec quelques caractères. Plus vous saisissez de caractères initiaux, plus il s'agrandit rapidement. Appelons-le out.txt. Puis à Powershell:
Attendez aussi longtemps que nécessaire pour rendre le fichier suffisamment volumineux. Appuyez ensuite sur ctrl-c pour y mettre fin.
la source
Vous pouvez essayer ce code C ++:
Il faudra peut-être un certain temps pour générer en fonction de la vitesse de votre CPU ...
la source
Réponse simple en Python: Si vous avez besoin de créer un gros fichier texte réel, je viens d'utiliser une
while
boucle simple et j'ai pu créer un fichier de 5 Go en environ 20 secondes. Je sais que c'est brut, mais c'est assez rapide.la source
Rapide à exécuter ou rapide à taper sur un clavier? Si vous utilisez Python sous Windows, vous pouvez essayer ceci:
la source
Une autre solution graphique: WinHex.
Contrairement à certaines des solutions déjà proposées, il écrit en fait les données (vides) sur l'appareil.
Il permet également de remplir le nouveau fichier avec un motif sélectionnable ou des données aléatoires:
la source
J'ai fait quelques ajouts à la même
fsutil
méthode que celle mentionnée dans la réponse choisie. Il s'agit de créer des fichiers de nombreuses extensions différentes et / ou de différentes tailles.Le code peut être cloné depuis https://github.com/iamakidilam/bulkFileCreater.git
la source