Stephan B. Geschrieben 22. März 2005 Geschrieben 22. März 2005 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 Zitieren
Amstelchen Geschrieben 22. März 2005 Geschrieben 22. März 2005 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 Zitieren
Stephan B. Geschrieben 22. März 2005 Autor Geschrieben 22. März 2005 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. Zitieren
Amstelchen Geschrieben 23. März 2005 Geschrieben 23. März 2005 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 Zitieren
Stephan B. Geschrieben 23. März 2005 Autor Geschrieben 23. März 2005 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 Zitieren
sissy66 Geschrieben 23. März 2005 Geschrieben 23. März 2005 ... 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. Zitieren
Amstelchen Geschrieben 23. März 2005 Geschrieben 23. März 2005 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 Zitieren
Stephan B. Geschrieben 23. März 2005 Autor Geschrieben 23. März 2005 ... 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 Zitieren
Stephan B. Geschrieben 23. März 2005 Autor Geschrieben 23. März 2005 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. Zitieren
sissy66 Geschrieben 23. März 2005 Geschrieben 23. März 2005 ... 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. Zitieren
sissy66 Geschrieben 23. März 2005 Geschrieben 23. März 2005 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 Zitieren
sissy66 Geschrieben 5. April 2005 Geschrieben 5. April 2005 ... 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. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.