DummyFile Generator

  • Aus diesem Thread hier: [ offen ] Datei mit 5 MB größe erstellen ausgehend habe Ich ein Kleines Programm geschrieben (Nichts Großes :D ) was Dateien in beliebiger Größe erzeugen Kann

    Ich habe es bis 50Gb Getestet und es hat Geklappt!


    Hier das Skript als Download: autoit.de/wcf/attachment/6830/
    Uns als Spoiler:

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $iMultiplikator = 0

    [/autoit] [autoit][/autoit] [autoit]

    $Form1 = GUICreate("DummyFile", 203, 107, 192, 124)
    $Group1 = GUICtrlCreateGroup("Dateigröße", 8, 8, 185, 57)
    $Input1 = GUICtrlCreateInput("1", 24, 32, 105, 21, $ES_NUMBER)
    $Combo1 = GUICtrlCreateCombo("", 136, 32, 49, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL))
    GUICtrlSetData(-1, "KiB|MiB|GiB")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Button1 = GUICtrlCreateButton("Datei Erstellen", 56, 72, 83, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Combo1
    Switch GUICtrlRead($Combo1)
    Case "KiB"
    $iMultiplikator = (1024)
    Case "MiB"
    $iMultiplikator = (1024 * 1024)
    Case "GiB"
    $iMultiplikator = (1024 * 1024 * 1024)
    EndSwitch
    Case $Button1
    $iFilesize = GUICtrlRead($Input1)
    If $iFilesize = "" Then
    MsgBox(48, "DummyFile", "Bitte eine Größe eingeben!")
    ContinueLoop
    Else
    $iFilesize *= $iMultiplikator
    $sFilepath = FileSaveDialog("Dateispeicherort Wählen!", "", "Alle Dateien (*.*)")
    If $sFilepath <> "" And (Not @error) Then
    If FileExists($sFilepath) = 1 Then
    MsgBox(48, "DummyFile", "Datei existiert Bereits!")
    Else
    ProgressOn("DummyFile", "Datei wird Erstellt!")
    RunWait(@ComSpec & ' /c fsutil file createnew "' & $sFilepath & '" ' & $iFilesize, "", @SW_HIDE)
    ProgressSet(100)
    ProgressOff()
    MsgBox(64, "DummyFile", "Datei Erstellt!")
    EndIf
    Else
    MsgBox(16, "DummyFile", "Kein Dateipfad Gewählt!")
    EndIf
    EndIf
    EndSwitch
    WEnd

    [/autoit]
  • Um einen Trojaner aufzupumpen :D Ne scherz ;)

    Funkioniert aber bessens!!

    Denoch fragen...

    1. Ich checks net, wie kann der 50 GB inerhalb von 2 Sekunden erstellen???
    2. Wiso werden "Nur" maximal 50GB erstellt, denn 51GB gehen schon nichmehr???
    3. Wiso lässt sich immer nur eine datei erstellen?
    mfg

    2 Mal editiert, zuletzt von Get_it (6. Dezember 2009 um 16:08)

  • 1.)Es geht deshalb so schnell, weil es nur ein Dummyfil erstellt. Das ist keine richtigge datei wo was drinenn steht, da wird einfach nur am ANfang der Datei hingeschrieben de is 50gb gross aber dann kommt nix mehr was er auf die Fesplatte schreiben muss.

    2.) Kein Plan, dürfte an Autoit liegen

    3.) Weil er keine Funktion zum erstellen von mehreren Dateien eingebaut hat :)

    Mfg

    Computers are like Airconditioning. They don´t work with open Windows.

  • zum Ärgern alle Male toll, aber sonst sehe ich da jetz keinen wirklichen nutzen drinne

    Falsch. Das ist sehr nützlich um Festplattenspeicher zu reservieren. Stell dir vor du leitest ein Unternehmen, welches zB Webspace vermietet. Ein Kunde bezahlt nun für 500GB. Du hast aber min. 550GB partitionen. Bevor du jetzt die Platte umformatierst, oder auf Dateisystemebene bestimmte Kontingente zuweist, erstellst du doch einfach eine 50 gb große Datei um deinem Kunden nur die 500 gb zu geben. Natürlich ist das jetzt nur ein Beispiel und in der Praxis würde das wahrscheinlich anders laufen. Aber das macht es halt zum Beispiel ;)