[R] Creer un fichier d'une taille definie

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

[R] Creer un fichier d'une taille definie

#1

Message par DimVar »

Bonjour,

J'ai plusieurs solutions en tête, mais je souhaiterais connaitre les vôtres.
Comment créer un fichier vide d'une taille définie ?

Merci.

Cdlt, Dimvar..
Modifié en dernier par DimVar le jeu. 15 janv. 2015 09:46, modifié 1 fois.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..] Creer un fichier d'une taille definie

#2

Message par DimVar »

Je clos, j'ai retrouvé mon ancien sujet...
[EDIT] à benner
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1038
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [R] Creer un fichier d'une taille definie

#3

Message par walkson »

Bonjour,
Il y a visiblement sur le forum des touches R qui ne fonctionnent plus. La votre est très rapide :wink:
Mais je me suis frustré par votre réponse... un script? une solution?
Sur le forum US, j'avais lu http://www.autoitscript.com/forum/topic ... toit-code/ mais limité à 100 Mo ou (de mémoire) une solution de Trancexx basée sur une image. Mais aucune solution m'avait satisfait. Si la votre est meilleure, je suis preneur...
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [R] Creer un fichier d'une taille definie

#4

Message par DimVar »

Code : Tout sélectionner

#include <Constants.au3>

Local Const $sFile = "test.txt"
Local $hFile = FileOpen($sFile, 2)
Local $x = 3  ;  Nombre de Go souhaité

If $hFile = -1 Then
    MsgBox(0, "Erreur", "Impossible de créer le fichier.")
    Exit
EndIf

FileSetPos($hFile, (1024*1024*1024*$x)-1, $FILE_BEGIN)
FileWrite($hFile, 0)

FileClose($hFile)
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] Creer un fichier d'une taille definie

#5

Message par jguinch »

En un peu plus rapide :
► Afficher le texte
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [R] Creer un fichier d'une taille definie

#6

Message par orax »

Dans le code de DimVar, on peut aussi remplacer le

Code : Tout sélectionner

FileWrite($hFile, 0)
par

Code : Tout sélectionner

FileWrite($hFile, Chr(0))
pour éviter d'avoir un 0 à la fin du fichier.
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [R] Creer un fichier d'une taille definie

#7

Message par DimVar »

jguinch a écrit :En un peu plus rapide :
► Afficher le texte

Je vois que tu mets un closehandle, où "est caché" le openhandle ?
Pardon, trés fatigué... :oops: :mrgreen:
Modifié en dernier par DimVar le jeu. 15 janv. 2015 16:23, modifié 1 fois.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] Creer un fichier d'une taille definie

#8

Message par jguinch »

_WinAPI_CreateFile retourne le handle
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2127
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [R] Creer un fichier d'une taille definie

#9

Message par TommyDDR »

Vous pouvez aussi remonter la chaine ^^'

Code : Tout sélectionner

_WinAPI_CloseHandle([color=#FF0000][b]$hFile[/b][/color])
et $hFile est assigné :

Code : Tout sélectionner

$hFile = [color=#FF0000][b]_WinAPI_CreateFile[/b][/color]($sFile, 1, 4)
Avec la fameuse touche F1 dessus :
Return Value
Success: The open handle to a specified file
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Répondre