Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Dateien suchen

Empfohlene Antworten

Veröffentlicht

Hallo,

Ich suche ein Programm womit ich nach Dateien suchen kann.

Z.B.: Dateien mit *.zip

Diese sollen dann alle gesucht werden.

Kennt einer ein Script dafür?

Danke euch

error: not enough input.

was willst du denn dann damit machen, wenn du die dateien gefunden hast (weiterverarbeiten, in datei schicken, löschen, wegsichern, etc etc)?

im simpelsten falle tuts ein

dir *.zip /b /s > dateiliste.txt

s'Amstel

Theoretisch sollte es so sein:

Do while not ENDE MIT EINLESEN

 dateiname = Aktueller_Ordner/Dateiname.Dateiendung

 Loop

das jede Datei dann in einer Schleife in dateiname geschrieben wird, beim nächsten durchgang also wenn die nächste Datei gefunden wird wird dateiname überschrieben.

Mehr brauche ich dann nicht, den rest kann ich mir dann zusammenbauen, dieser name soll dann einfach in eine ACCESS Datenbank eingetragen werden.

Den Programmcode für die Datenbank habe ich schon und müsste ich nur in die Schleife bauen.

Nur weiß ich leider nicht, wie ich nach Dateien suche.

Wichtig: Es soll das Aktuelle Verzeichnis und alle unterverzeichnisse von dem Ordner der als String in ordnername steht.

Ich danke dir vielmals für deine Antwort/en.

Mit freundlichen Grüßenn

Stephan B.

wenns access sein soll: das Scripting.FileSystemObject unterstützt methoden zur dateisuche, wie z.b. GetFolder, SubFolders, FindFiles, etc etc

damit sollte dir google schon einige codeschnipsel ausspucken.

s'Amstel

Danke für deine Antwort!

Ich habe nun:

Private Sub Button1_Click(ByVal sender As System.Object, _

            ByVal e As System.EventArgs) Handles Button1.Click

        Dim i As Int32

        Try

            Dim arrAllFiles() As String = _

                  Directory.GetFiles(TextBox1.Text, TextBox2.Text)

            ListBox1.Items.Clear()

            For i = 0 To arrAllFiles.Length - 1

                ListBox1.Items.Add(arrAllFiles(i))

            Next

            Label1.Text = CStr(arrAllFiles.Length)

        Catch Except As Exception

            MsgBox(Except.Message & vbNewLine & _

                    "Möglicherweise ist die Pfadangabe falsch.", _

                    MsgBoxStyle.Exclamation)

            ListBox1.Items.Clear()

            Label1.Text = CStr(0)

        End Try

    End Sub

leider werden damit keine Unterverzeichnise durchgesucht.

Wie kann ich das machen?

Danke dir

... ach herje, immer diese Windoze-Nufzer!!!

Das ist der Weg in 3 Worten:

"find . | grep .zip"

(um im aktuellen Verzeichnisbaum (=alle Verzeichnisse mit Unterverzeichnissen) nach diesen files zu suchen)

oder

"find|grep .zip"

(um in allen Verzeichnissen auf der Festplatte nach gezippten Dateien zu suchen; dauert aber ne Weile, weil er auch die "Systemdateien" durchsucht)

und am besten noch mit "|more" hinten dran, dann kannst Du Dir seitenweise mit space anzeigen lassen oder gleich in den output in ein extra file umleiten mit ">counted-zipfiles", weil es wahrscheinlich sehr viele sein werden

Und das ist die Voraussetzung fuer die 3 Worte:

... logt Euch doch einfach mal auf nem Linux(?)-rechner ein, holt Euch mal ne schicke schnelle Shell und tippt die 3 Woerter mal bitte ein

(ne richtige shell ist viel, viel cooler als die allte dos-kruecke!!!)

Wenn Euer Admin nicht gerade geschlafen hat, ist bestimmt die Platte auch unter LInux(?) gemountet

und solche Abfragen und noch viel mehr gehen ganz easy, ohne auch nur ein Fuenkchen nachzudenken.

WARUM MACHT IHR EUCH DAS IMMER SO SCHWER?!

Sorry, dass ich das mal hier so hart sage,

trotzdem wuensch ich Euch noch nen schoenen Tag,

sissy66.

pack das ganze in eine funktion (z.b. ListVerzeichnisse) und übergib ihr den aktuellen (sub)folder. mit

Set Folder = FSO.GetFolder(sPath)

For Each SubFolder In Folder.SubFolders

ListVerzeichnisse Liste, sPath & SubFolder.Name

Next

kannst du dann alle verzeichnisse in verzeichnissen rekursiv (also sich selbst aufrufend) listen.

s'Amstel

@sissy: bei aller liebe zu linux, aber access und vba laufen darauf wohl kaum :P

... ach herje, immer diese Windoze-Nufzer!!!

Das ist der Weg in 3 Worten:

"find . | grep .zip"

(um im aktuellen Verzeichnisbaum (=alle Verzeichnisse mit Unterverzeichnissen) nach diesen files zu suchen)

oder

"find|grep .zip"

(um in allen Verzeichnissen auf der Festplatte nach gezippten Dateien zu suchen; dauert aber ne Weile, weil er auch die "Systemdateien" durchsucht)

und am besten noch mit "|more" hinten dran, dann kannst Du Dir seitenweise mit space anzeigen lassen oder gleich in den output in ein extra file umleiten mit ">counted-zipfiles", weil es wahrscheinlich sehr viele sein werden

Und das ist die Voraussetzung fuer die 3 Worte:

... logt Euch doch einfach mal auf nem Linux(?)-rechner ein, holt Euch mal ne schicke schnelle Shell und tippt die 3 Woerter mal bitte ein

(ne richtige shell ist viel, viel cooler als die allte dos-kruecke!!!)

Wenn Euer Admin nicht gerade geschlafen hat, ist bestimmt die Platte auch unter LInux(?) gemountet

und solche Abfragen und noch viel mehr gehen ganz easy, ohne auch nur ein Fuenkchen nachzudenken.

WARUM MACHT IHR EUCH DAS IMMER SO SCHWER?!

Sorry, dass ich das mal hier so hart sage,

trotzdem wuensch ich Euch noch nen schoenen Tag,

sissy66.

Jo, Danke ich habe warscheinlich Geschlafen ;)

Ich bin der Admin von dem Netzwerk und benutze kein Linux!

Auserdem geht es um Programmieren in visual Basic und nicht um Dateien auf nem Computer suchen um damit nachher in Excel usw zu Arbeiten!!!

Trozdem danke

Amstelchen

Ich benutze Visual Basic.Net sry das ich das nicht erwähnt habe.

Aber ich weiß wonach ich suchen muss und werde bestimmt was finden.

Danke dir ich melde mich wenn ich ein Problem habe :)

Mit freundlichen Grüßen

Stephan B.

... schon mal was davon gehoert, dass es da auch regular expressions gibt, die auch schon die meisten Fehler abfangen, ohne dass man um seine Abfrage gleich ein Programm drum herum bauen muss?!

(die sehen zwar fuer meine Vorstellungen vielleicht etwas verkreuppelt aus, aber es scheint fuer die wichtigsten Dinge funktionieren zu koennen, nach den fernen Aussagen einiger mir Bekannter windoze nufzer, und dem standard pdf fuer regexp)

... aber wie man im win (esp. vba, access) mit regexp umgeht, da muss ich leider passen (vielleicht weiss da googel mehr) ... waer vielleicht mal ein Vortragsthema fuer den Informatikunterricht ...

--------------------------

Sorry, dann bin ich ja doch im vba Forum gelandet ... hab nur unter Aktuelles gelesen und den Forumname gar nicht so registriert. (Die Aufgabe ist aber auch allgemein formuliert, sodass der Leser trotzdem nicht weiss, ob es mit visual basic gehen soll und/oder mit access. )

-------------------------

Liebe Gruesse,

sissy66.

bei googel hab ich das gefunden:

You can then call RegexObj.IsMatch("subject") to check whether the regular expression matches the subject string.

(http://www.regular-expressions.info/dotnet.html)

... dem subject musst Du natuerlich irgendwo vorher Deinen string ".zip" uebergeben haben, und gucken, ob Du die Klasse, die Du da benutzt noch ueber irgendeine library mit einbinden muss, dann muesste er das checken ...

... und die Instanz von Deinem RegexObj muss wissen, dass Deine files aus dem Dateisystem gemeint sind (schleife, die ueber alle files iteriert ) ... aber wie man im .NET Dateien anquatscht wirst Du wohl selber wissen

das ist alles noch nichts .net Spezifisches, wird halt nur in anderen Programmiersprachen "anderser" geschrieben

aber frag mich nicht, wie ich man das konkret einbaut ... ich kann das hier nicht testen, hab kein dotnice hier

(ich schreibe alles in der shell und ueberlass das, was Deine Umgebung im Hintergrund so macht (compillieren, linken, testen), meinen vorgefertigten makefiles (weil ich die kenne im Laufe der Zeit und darueber die Kontrolle haben kann) ;-)

dennoch viel spass mit dem Zeugs,

sissy66

  • 2 Wochen später...

... ich weiss nicht woher diese subfolderfkt sind

Dann konnte ich das mal im .NET meines Freundes testen, ob das kuerzer ist als die regexp.

Liebe Gruesse,

sissy66.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.