Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Tool - Text in Dateien suchen

    webald

    • modified Team
    • Beiträge: 2.791
    Tool - Text in Dateien suchen
    am: 24. Juni 2015, 08:40:05
    Ich war mit der Suche nach Dateiinhalten nicht zufrieden und habe jetzt kurzerhand ein eigenes kleines Tool dafür geschrieben. Wenn es einer gebrauchen kann ist gut. Wenn ich Zeit habe, dann baue ich das evtl. noch in ein AddIn für Visual Studio rein.

    .NET 4.0 muss af dem Rechner installiert sein.

    Und es kann Fehler haben, daher nur "as is".

    Linkback: https://www.modified-shop.org/forum/index.php?topic=33227.0

    Fakrae

    • Viel Schreiber
    • Beiträge: 997
    Re: Tool - Text in Dateien suchen
    Antwort #1 am: 24. Juni 2015, 08:49:05
    Was genau hast du denn geändert im Vergleich zu bspw Notepad++ "Suche in Dateien"?

    innuXTC

    • Viel Schreiber
    • Beiträge: 508
    Re: Tool - Text in Dateien suchen
    Antwort #2 am: 24. Juni 2015, 08:53:02
    Hallo webald,

    Danke für's Teilen! Ich bin ja ein Fan von "kleinen Tools" :-)

    Ich verwende übrigens sehr oft "Agent Ransack" für die Suche und bin sehr zufrieden was die Geschwindigkeit und das Handling anbelangt.

    Ich selber habe mir auch schon ein eigenes Tool für die Datei-Suche programmiert und war überrascht, mit wie wenig Aufwand man sehr gute Ergebnisse erzielt. Daher frage ich mich ständig, wieso die Microsoft-Suche (fast) nie funktioniert ^^ +gg

    Deine Suche funktioniert, braucht aber doch ein wenig Suchzeit ... Das Ergebnis (c:\1.txt) wird in der Liste angezeigt. Leider kann man weder den Dateipfad öffnen noch die Datei. Einzig die Ergebniss-Liste (als xml?) exportieren.

    Was machst das Programm? Öffnet alle (Text-)Dateien und durchsucht diese nach dem gewünschten String? o_O

    Vg
    innuXTC

    webald

    • modified Team
    • Beiträge: 2.791
    Re: Tool - Text in Dateien suchen
    Antwort #3 am: 24. Juni 2015, 09:21:52
    Mi ging es nur darum zu finden in welcher Datei ein bestimmtes Wort steht, weil, wie festgestellt die Suche in Windows selber alles anders als toll ist und dann auch noch Ergebnisse bringt, die man gar nicht braucht (Such mal im Win-Explorer nach einem Wort das gleich dem aktuellen User ist, da kommen dan auch Dateie, die dieser User geändert hat).

    Ne Funktion hab ich in der Liste nicht hinterlegt. Die Geschwindigkeit hängt derzeit noch zu sehr von der Transferleistung der HDD ab (Prozessorleitung kann ich nicht beurteilen, da ich das im Überfluss hab). Die Dateien werden parallel auf mehreren Kernen über TasParallelLibrary abgearbeitet. Kann gut sein, dass das mit einem Threadpool schneller geht, aber TPL ist schneller programmiert. Gleiches gilt für den Dateizugriff; ich habe mit EnumerateFiles gearbeitet mit P/Invoke dürfte auch da noch was drin sein.

    innuXTC

    • Viel Schreiber
    • Beiträge: 508
    Re: Tool - Text in Dateien suchen
    Antwort #4 am: 24. Juni 2015, 17:22:49
    Bei mir werden die Suchergebnisse in einer einachen "ListBox" gespeichert. Um die gefundenen Datei(en) per Doppelklick zu öffnen habe ich dann "professionell" (gg) wie folgt gelöst:

    Code: PHP  [Auswählen]
    Private Sub ListBox1_DoubleClick(sender As Object, e As System.EventArgs) Handles ListBox1.DoubleClick
            Try
                Process.Start(ListBox1.SelectedItem)
            Catch
                MsgBox("Fehler")
            End Try
    End Sub

    Bin mir aber sicher, dass Du das eh weißt! :-)

    Die Windows-Suche kannst Du eh vergessen! Die findet ja noch nicht mal die gesuchte Datei im aktuellem Ordner ^^ +g [Wenn ich im Bilder-Ordner *.jpg suche, dan sagt Windows nur: Nix gefunden!]

    Mein Tool ist übrigens lediglich darauf trainiert mir Medien-Files (Musik, Videos, Bilder) rauszusuchen. Dabei war mir wichtig, dass er Schreib-Varianten berücksichtig, sofern gewünscht. Beispiel: Suche ich nach "Die Band" findet er auch "Die_Band", oder "B.A.N.D." usw.

    Frag' mich aber bitte nicht, wie ich das "damals" hinbekommen habe. Funktioniert(e) aber :-)
    Ironischer Weise weiß ich nicht mehr, wo ich das Tool gespeichert habe *lol*

    Hätte ich Zeit, hätte ich vorgeschlagen, dass wir unsere "Such-Power" bündeln und das ultimative Such-Tool basteln ^^+gg

    Gruss, innuXTC

    webald

    • modified Team
    • Beiträge: 2.791
    Re: Tool - Text in Dateien suchen
    Antwort #5 am: 25. Juni 2015, 07:55:53
    Code: PHP  [Auswählen]
        Public Function GetAssociatedProgram(ByVal FileExtension As String) As String
            ' Returns the application associated with the specified
            '
    FileExtension
            ' ie, path\denenv.exe for "VB" files
            Dim objExtReg As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.ClassesRoot
            Dim objAppReg As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.ClassesRoot
            Dim strExtValue As String
            Try
                '
    Add trailing period if doesn't exist
                If FileExtension.Substring(0, 1) <> "." Then FileExtension = "." & FileExtension
                '
    Open registry areas containing launching app details
                objExtReg = objExtReg.OpenSubKey(FileExtension.Trim)
                strExtValue = objExtReg.GetValue("")
                objAppReg = objAppReg.OpenSubKey(strExtValue & "\shell\open\command")
                ' Parse out, tidy up and return result
                Dim SplitArray() As String
                SplitArray = Split(objAppReg.GetValue(Nothing), """")
                If SplitArray(0).Trim.Length > 0 Then
                    Return SplitArray(0).Replace("%1", "")
                Else
                    Return SplitArray(1).Replace("%1", "")
                End If
            Catch
                Return ""
            End Try

            '
    Usage:
            'Dim strPath As String = GetAssociatedProgram(TextBox1.Text)
            '
    System.Diagnostics.Process.Start(strPath)

        End Function

    Das suct aus der Registry das eingestellte Standardprogramm für einen Dateityp. Ist ok für Doppelclick als Standard. Rechtsklick muss ein Kontext-Menü öffnen (wie im WinExplorer) und alle anderen Programme auflisten, die diesen Dateityp öffenen können. Jetzt der Haken: Das steht in der Registry an mehreren Stellen - das habe ich noch nicht. Ein typischer Anwendungsfall ist etwa XML; je nach Bedarf reicht es das im Texteditor oder IE zu öffnen, dann aber mal wieder doch lieber in VS.

    Wenn Du Dein Tool noch irgendwo findest (reicht eine kompilierte Version) dann einfach mal hochladen.

    innuXTC

    • Viel Schreiber
    • Beiträge: 508
    Re: Tool - Text in Dateien suchen
    Antwort #6 am: 25. Juni 2015, 09:45:47
    OK! Zugegeben: Ich bin ein schlechter und fauler "Offline-Programmierer" ;-)

    Früher (!) habe ich u.a. in Pascal und Visual Basic (nicht .NET = 90er-Jahre?!) mir meine (teils komplexe) Programme programmiert, da es diese entweder nicht gab oder mir zu teuer waren - zum Beispiel "Bildbetrachter für JPG" usw.

    VB.net usw. scheint jetzt wesentlich einfacher zu sein, aber auch umfangreicher. So richtig habe ich mich damit nicht beschäftigt. Anders gesagt: Keine Ahnung, was ich da immer mache :-) Mit "Programmieren" hat DAS wohl nix zu tun! Entweder es erschließt sich mir direkt - weil logisch - oder ich google danach ^^ Ergebnis:

    Mal die Who-Is-Online aus dem Shop (modified eCommerce Shopsoftwareod) auf den Desktop packen, kleines Such- oder Notiz-Tool. Was ich halt gerade brauche und im Netz nicht finde - nix aufwendiges so wie früher, wo ich noch (erfolgreich) Spiele programmiert habe.

    Lange Rede, kurzer Sinn: Ich bin Web-Entwickler, kein Programmierer!! Davon habe ich kaum noch Ahnung, bzw. bin da arg aus der Übung, aber immer interessiert. Habe z.B. vor 2 Monaten mein 1. Smartphone bekommen. Wie man einen neuen Kontakt anlegt weiß ich immernoch nicht, aber ich habe schon eine App in der ICH durch MEIN Dorf laufen kann (JAVA) ^^ +g

    Zurück zum "Off-Topic":

    Welchen Sinn macht es, die Registry nach den Standardprogrammen zu durchsuchen, wenn man mit einem Befehl das an Windows übergeben kann und das nach dem Standardprogramm in der Registry schaut? Oder kapiere ich deinen Quelltext/Ansatz nicht?

    Du: Registry > Standardprogramm > Windows > Registry > Standardprogramm > Öffnen
    Ich: Windows > Registry > Standardprogramm > Öffnen

    Bei komplexeren Anwendungen mag das sinnvoll sein - je nachdem was man machen will (wie Du erwähnst, "öffnen mit....") - aber ansonsten scheint mir mein Weg einfacher und führt auch zum Ziel :-)

    Soll keine Grundsatzdiskussion werden oder so. Ich mache das ja nur noch nebenher als Hobby. Darfst mir das aber gerne erklären!

    Merci,
    innuXTC

    PS: Wenn ich mein Tool finde, schicke ich es Dir ....

    webald

    • modified Team
    • Beiträge: 2.791
    Re: Tool - Text in Dateien suchen
    Antwort #7 am: 25. Juni 2015, 10:16:16
    Unterschied ist ganz einfach: Wenn ich in der Registry nix finde fange ich den Fehler ab. Dir schmiert das Programm ab, wenn es nix  gibt.

    innuXTC

    • Viel Schreiber
    • Beiträge: 508
    Re: Tool - Text in Dateien suchen
    Antwort #8 am: 25. Juni 2015, 10:35:41
    Error-Handling verstehe ich und kann ich nachvollziehen. Wichtig - wird oft unterschätzt und vernachlässigt!

    Windows ist aber so alt wie ich und kennt noch den Satz "on error resume next" :-)

    Mein Programm schmiert nicht ab und gibt mir auch kein PopUp "Fehler" ... sondern tut was Windows sonst auch macht, wenn es eine Dateiendung nicht kennt: Nachfragen womit die Datei geöffnet werden soll!

    innuXTC

    • Viel Schreiber
    • Beiträge: 508
    Re: Tool - Text in Dateien suchen
    Antwort #9 am: 20. August 2015, 17:47:13
    Seas webald,

    habe mir heute wieder zwei (sehr) kleine Tools programmiert *gg* Magst mal ausprobieren, sofern Deine Systemvoraussetzungen dafür geeignet sind? Mag es ungetestet ungerne direkt hier posten, würde es Dir - und eventl. anderen Testern - aber mailen.

    Tool 1: Kalenderwoche im Tray

    Für mich ist auf der Arbeit immer wichtig, welche Kalenderwoche wir haben. Da schaue ich am Tag mind. 10x auf den Wandplaner übern Monitor, weil ich's mir nicht merken kann. Im Prinzip macht das Programm nichts anderes, wie eine Zahl (aktuelle Kalenderwoche) im Tray anzuzeigen. Quasi direkt neben der Windows 7-Uhr/-Datumsanzeige.

    Tool 2: GWX Unloader

    GWX = "Get Windows 10". Genau: Das Icon nach dem Windows-Update KB1234 was Dich immer daran erinnert von Windows 7 auf 10 umzusteigen - und dazu auch noch buggy ist! Habe gegoogelt wie man das wegbekommt. Da gibt es zehn verschiedene (mehr oder weniger aufwändige) Lösungen. Auf keine hatte ich Lust ^^+gg

    Das 30 KB-Tool startet mit Windows und wartet bis die GWX.exe geladen ist und beendet diese und danach sich selber. Findet es keine GWX.exe beendet sich das Programm ebenfalls. Eine Lösung mit der ICH leben kann. Freu!!

    Gruss, innuXTC
    Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen für die modified eCommerce Shopsoftware
    2 Antworten
    2544 Aufrufe
    21. August 2011, 20:15:14 von postman
    3 Antworten
    1637 Aufrufe
    23. März 2016, 15:09:00 von Bonsai
    11 Antworten
    8235 Aufrufe
    01. September 2014, 14:48:19 von Tomcraft
    4 Antworten
    11727 Aufrufe
    04. Januar 2011, 16:15:14 von h-h-h
               
    anything