Fragen zu meinem nächsten projekt.

  • Tag allerseits.

    Ich hätte da mal ne Frage zu ner neuen Projekt idee.

    Ich will als nächstes ( neben neuen erweiterungen für meinen Web-Helfer ) ein Programm machen, das folgendes können soll:

    Es ist sowas wie eine HighSpeed Sucher.

    Die normale Windows-Suche dürfte ja jeder kennen.
    Ich will aber, das das ganze etwas beschleunigt wird.

    Das man den PC aber schlecht mal einfach schneller machen kann,hab ich mir gedacht, ich teil die Scuhe grad auf.
    Aber dazu später mehr.

    Nun müsste ich nur wissen, wie es möglich ist, mit FileFindFirstFile, -NextFile auf dem GANZEN Copmuter etwas zu suchen. Weil wenn ich z.B. eigebe, dass er bla.txt suchen soll, sucht er nur in dem Ordner danach, wo sich das script befindet.

    Wie also sag ich dem, das er überall suchen soll?


    Schonmal Thx für evtl. antworten.

  • da es immer mehr oder weniger gleich lange braucht, um nach einer Datei auf der Festplatte zu suchen, setzen dort eigentlich fast alle verfügbare Programme so an, dass man einen "index" Dienst hat. Der schreibt die Datei Informationen in eine Datenbank, wenn der Rechner mal "nichts" zu tun hat. Und wenn man dann eine suche startet wird einfach in der Datenbank gesucht und das geht dann wirklich sehr sehr schnell!

    Nach meiner Ansicht die eigentlich einzig wirklich schnelle Möglichkeit! Mit dem Nachteil, dass nur indizierte files gefunden werden können.

    vielleicht hilft Dir der Ansatz ja.

    zu deinem Such ansatz such mal hier im Forum nach _GetFilesFolder_Rekursiv . Das sollte das sein, was du meinst.

    Franz

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---

  • Hey,

    ich hatte mal für ein Programm von mir nen Algorythmus geschrieben für Suche in Unterordnern ;)

    Das kannst du sicher gebrauchen.

    Spoiler anzeigen
    [autoit]

    Opt("TrayIconDebug", 1)

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

    _File_Search_Subfolder("C:\test\")

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

    Func _File_Search_Subfolder($folder)

    Dim $search_dir, $subfolder, $filedoc, $x = 0, $file_suche[5000]

    If StringTrimLeft($folder, StringLen($folder) - 1) <> "\" Then $folder = $folder & "\"

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

    $search_dir = FileFindFirstFile($folder & "*.*")

    MsgBox(0, "T", $folder)

    While 1

    $search = FileFindNextFile($search_dir)

    If @error Then ExitLoop

    If StringInStr(FileGetAttrib($folder & "\" & $search), "D") <> 0 Then
    $subfolder = $folder & $search & "\"
    _File_Search_Subfolder($subfolder)
    EndIf

    WEnd

    FileClose($search_dir)

    $search_file = FileFindFirstFile($folder & "*.*")

    While True

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

    $file_suche[$x] = $folder & FileFindNextFile($search_file)

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

    If @error Then ExitLoop

    MsgBox(0, "T", $file_suche[$x])

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

    $x = $x + 1

    WEnd

    Return

    EndFunc

    [/autoit]

    Stammt aus meinen Anfängen, deswegen ist der code vllt ein wenig grausam^^

    Gruß

    Prajoss

    "Never touch a running System!"

  • Super, schonmal vielen Dank für die guten Ansätze.

    Werd mich damorgen mal dran machen.

    Ich hab halt vor, das man einen Suchbegriff eingibt, und
    dann wird an mehrenen Orten gleichzeitig danch gesucht.

    Also so als würde man z.B. in Word das Wort "Hallo" suchen.
    Nun gibt man "Hallo" ein und klickt auf Suchen.

    Dann fängt er von Zeile 1, 10, 20, 30 u.s.w. an, also
    so als würde man mehrere Suchen starten. ^^

  • Ob du da mit einer Scriptsprache weit kommst, da hab ich schon meine Zweifel da
    Auto-IT Zeile für Zeile arbeitet.

    Es gibt aber ne Möglichkeit Auto-IT mehrfach zu starten, das wäre denk ich genau das richtige.
    Das könnte so aussehen:

    Das Hauptscript wartet auf die Eingabe des Suchbegriffs und sobald dieser Erfolgt startet
    es mehrere Instanzen die jeweils in 1, 10, 20, usw Zeilen suchen. Die Suchergebnisse werden
    in eine Datei geschrieben welche vom Hauptscript immer ausgelesen wird, so weiss dieses wenn
    etwas gefunden wurde.

    Gruß

    Prajoss

    Wie man Auto-IT mehrfach startet weis ich aber nich, da gabs im Forum mal nen Beitrag dazu, Suche^^

    "Never touch a running System!"

  • du sagst das prog soll schnell werdern das ist autoit und kein c++ also da was wirklich schnelles zu bekommen wird net leicht

  • Ein Script kann man mehrfach per Run() ausführen.

    Ich würde nur dem ersten Script später einen andere Exe-Name geben.

    Beispiel:

    erste.exe und zweite.exe.

    Durch Run aus der erste.exe heraus kannst Du so die zweite.exe mehrfach aufrufen.

    Sonnlos wäre, das die erste.exe sich selber aufruft, denn das wäre ein Chaos !

    Und damit Du auch nur eine Datei hast, nämlich die erste.exe, nutzt Du FileInstall, damit diese mit in der erste.exe "versteckt" ist.

    Alles verstanden oder ist meine Erklärung gerade zu blond? ;)

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr

  • wieso so kompliziert ? Das suchen, egal ob eine oder 10 Instanzen wird trotzdem nicht schneller werden !
    Weil nach wie vor adhoc gesucht wird und zwar für jede Anfrage erneut. Es ist viel effektiver die Suche einmal zu machen und dann mit einer Datenbank zu arbeiten. Dann braucht man auch kein C++, um schnelle Abfragen zu machen!

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---

  • Jo, verstanden ^^ gut erklärt, mal gucken, was ich dann morgen draus mach ;) thx

  • Ich kenn da ne Art Windows Trick.
    Geh in die Dienste von Windows.
    Und beende den Dienst, der Windows Suche.
    Voll Krass :D
    Dann hat man unter Start -> Suche
    ein ganz mikriges Fenster.
    Und das sucht aber ziemlich schnell.
    Meine Musik Bibliothek (900 Lieder)
    hat der in nicht mal 1 Sekunde nach nem Titel durchsucht =O
    :D

  • Lass DICH nicht auf den Arm nehmen !!!

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr

  • Ich hatte sowas mal angefangen, aber dann abgebrochen. AutoIt ist zu langsam und für sowas nicht geiignet!

    Du musst nicht nur die NAmen der Dokumente, sondern auch deren Inhalt indexieren. Dann wäre da noch, dass die Leute ihre Texte editieren und direkt danach suchen...

    Windows ist mir da schon gut genug, und ansonsten hab ich noch Superior Search... :)