Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

CSharp Festplatte nach bestimmtem Ordnernamen durchsuchen

Frage Entwicklung Visual Studio

Mitglied: 115122

115122 (Level 1)

16.04.2014, aktualisiert 17.04.2014, 1657 Aufrufe, 10 Kommentare, 1 Danke

Guten Tag

ich brauche als Bestandteil eines kleinen Programmes eine Funktion, welche meine Festplatte beispielsweise nach allen Ordnern mit dem Namen "Test" durchsucht.

Ich habe schon einiges ausgetestet, rekursive Suche, GetDirectories etc aber ich kriege es nicht so wirklich raus.

Vielleicht kann mir ja hier jemand helfen.

Vielen Dank schonmal in Voraus.

Grüße
Mitglied: colinardo
LÖSUNG 16.04.2014, aktualisiert 17.04.2014
Hallo zwieback,
durchsucht alle Unterordner eines angegebenen Verzeichnisses und gibt sie dir aus....Beim Ordner-Namen kannst du auch mit Wildcards arbeiten.
01.
string[] dirs = System.IO.Directory.GetDirectories(@"c:\rootordner", "denOrdnerSucheIch", System.IO.SearchOption.AllDirectories); 
02.
if (dirs.Length > 0) 
03.
04.
    foreach (String dir in dirs) 
05.
06.
        MessageBox.Show(dir); 
07.
08.
09.
else 
10.
11.
    MessageBox.Show("Keinen Ordner gefunden!"); 
12.
}
Grüße Uwe
Bitte warten ..
Mitglied: SlainteMhath
16.04.2014 um 15:42 Uhr
Moin,

google, <10 sec, erster Treffer:

http://support.microsoft.com/kb/303974

lg,
Slainte
Bitte warten ..
Mitglied: 115122
16.04.2014 um 15:53 Uhr
Ja so ähnlich hatte ich das auch schon, jedoch meint er bei mir, wohl wegen der "alldirectories" suchoption, dass ich nicht genügend Rechte besitze, was ich aber als Administrator definitiv haben sollte, oder ?
Bitte warten ..
Mitglied: 115122
16.04.2014 um 15:55 Uhr
Zitat von SlainteMhath:

Moin,

google, <10 sec, erster Treffer:

http://support.microsoft.com/kb/303974

lg,
Slainte

Da war ich auch schon, mein Kommentar mit den Rechten trifft ebenso hier zu.
Bitte warten ..
Mitglied: colinardo
LÖSUNG 16.04.2014, aktualisiert 17.04.2014
Zitat von 115122:

Ja so ähnlich hatte ich das auch schon, jedoch meint er bei mir, wohl wegen der "alldirectories" suchoption, dass
ich nicht genügend Rechte besitze, was ich aber als Administrator definitiv haben sollte, oder ?
Nein, nicht auf alle Ordner, z.B. "c:\SystemVolumeInformation"

In diesem Fall musst du die Recursion manuell machen und die Unauthorized-Exception bei jedem Ordner-Aufruf mit einem Try-Catch Konstrukt abfangen:
http://stackoverflow.com/questions/172544/ignore-folders-files-when-dir ...

Grüße Uwe
Bitte warten ..
Mitglied: 115122
17.04.2014 um 08:53 Uhr
Guten Morgen ;)

habe das Problem jetzt für mein Programm gelöst, oder es funktioniert zumindest so wie ich will.

Hier mal der Ausschnitt:

01.
String[] ordner = Directory.GetDirectories("C:\\", "Test"); 
02.
foreach (string ordnername in ordner) 
03.
04.
                gefunden.lbGefundeneOrdner.Items.Add(ordnername); 
05.
            }
Er schaut nun nach dem Ordner Test auf der lokalen Platte, falls er ihn findet, schreibt er den Pfad in eine Listbox.

Da der zu suchende Ordner nur unter C:\ , C:\Program Files\ oder C:\Program Files (x86) liegen kann, ist das hier für mich die einfachste Lösung.

Kleines Extra. Wenn einer der Ordner unter einem Pfad gefunden wird, soll dieser über einen Button gelöscht werden können.
Hier mal mein Code:

01.
private void btnLöschen_Click(object sender, EventArgs e) 
02.
03.
            string pfad = Convert.ToString(lbGefundeneOrdner.SelectedItem); 
04.
            //MessageBox.Show("Pfad: " + pfad); 
05.
            if (Directory.Exists(pfad)) 
06.
07.
                try 
08.
09.
                    Directory.Delete(pfad, true); 
10.
11.
 
12.
                catch (IOException f) 
13.
14.
                    MessageBox.Show(f.Message); 
15.
16.
17.
        }
Brauche ich hier noch bestimmte Parameter, die mir das Recht zum löschen geben ? Bekomme wieder gemeldet, dass ich nicht die nötigen Rechte besitze.
Als Admin starten hilft übrigens nicht. ;)

Vielen vielen Dank für eure bisherige Hilfe.
Bitte warten ..
Mitglied: colinardo
17.04.2014, aktualisiert um 09:16 Uhr
Hi,
der ProgramFiles Ordern ist wieder speziell, hier kommt die UAC ins Spiel. Dazu musst du deine App "elevated" starten. Wie du dies machen kannst steht hier:
http://stackoverflow.com/questions/2282448/windows-7-and-vista-uac-prog ...

Bestimmte Ordner musst du erst in deinen Besitz nehmen bevor du sie löschen kannst.

Eventuell enthält der Ordner auch andere Dateien bei denen die Vererbung unterbrochen ist und du keine Rechte auf bestimmte Dateien hast. Dann musst du zunächst die Rechte entsprechend rekursiv anpassen.

Grüße Uwe
Bitte warten ..
Mitglied: 115122
17.04.2014 um 09:17 Uhr
Zitat von colinardo:

Hi,
der ProgramFiles Ordern ist wieder speziell, hier kommt die UAC ins Spiel. Dazu musst du deine App "elevated" starten.
Wie du dies machen kannst steht hier:
http://stackoverflow.com/questions/2282448/windows-7-and-vista-uac-prog ...

Bestimmte Ordner musst du erst in deinen Besitz nehmen bevor du sie löschen kannst.

Eventuell enthält der Ordner auch andere Dateien bei denen die Vererbung unterbrochen ist und du keine Rechte auf bestimmte
Dateien hast. Dann musst du zunächst die Rechte entsprechend rekursiv anpassen.

Grüße Uwe

Bedankt, werde mir das mal reinföhnen. ;)
Bitte warten ..
Mitglied: colinardo
17.04.2014, aktualisiert um 14:42 Uhr
Hab dir dazu mal eine Demo gebaut, die du hier herunterladen kannst: FindFoldersProject_235750.zip. Im ZIP-File findest du die fertige EXE und das VS2010 Projekt.

Du startest die Anwendung mit Rechtsklick "Als Admin starten". Dann kannst du nach Ordnern suchen, beachte dabei das du in der Suchbox mit Regular-Expressions arbeiten kannst. Die Ordner die die Anwendung wegen fehlender Zugriffsrechte nicht durchsuchen kann werden, falls welche vorhanden, werden dir am Ende der Suche angezeigt. Um einen Ordner zu löschen markiere Ihn in der Listbox und drücke die ENTF-Taste. Die Anwendung übernimmt vorsorglich den Besitz des Ordners inkl. Unterordner mit takeown wenn dieser gelöscht werden soll.

Vielleicht hilft dir das etwas weiter in deinem Projekt.

Grüße Uwe

p.s. Das Programm erhebt keinen Anspruch auf Vollständigkeit...
Bitte warten ..
Mitglied: 115122
17.04.2014 um 15:00 Uhr
Zitat von colinardo:

Hab dir dazu mal eine Demo gebaut, die du hier herunterladen kannst:
FindFoldersProject_235750.zip. Im ZIP-File findest
du die fertige EXE und das VS2010 Projekt.

Du startest die Anwendung mit Rechtsklick "Als Admin starten". Dann kannst du nach Ordnern suchen, beachte dabei das du
in der Suchbox mit Regular-Expressions arbeiten kannst. Die Ordner die die Anwendung wegen fehlender Zugriffsrechte nicht
durchsuchen kann werden, falls welche vorhanden, werden dir am Ende der Suche angezeigt. Um einen Ordner zu löschen markiere
Ihn in der Listbox und drücke die ENTF-Taste. Die Anwendung übernimmt vorsorglich den Besitz des Ordners inkl.
Unterordner mit takeown wenn dieser gelöscht werden soll.

Vielleicht hilft dir das etwas weiter in deinem Projekt.

Grüße Uwe

p.s. Das Programm erhebt keinen Anspruch auf Vollständigkeit...

Wow, vielen Dank, werde mir das gleich mal anschauen.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Durchsuchen von Unterverzeichnissen nach bestimmten Ordnern!
gelöst Frage von DeadseraphimBatch & Shell4 Kommentare

Hallo in die Runde, ich habe folgendes Problem: Im Verzeichnis: D:\Schriftverkehr befinden sich mehrere Unterverzeichnisse mit den Bezeichnungen: \Dokumentenklassen1\ ...

Batch & Shell
Batchdatei: Datei nach bestimmten Zeilen durchsuchen und in anderer Datei einfügen
Frage von Vit1985Batch & Shell1 Kommentar

Hallo, ich möchte mit einem batch aus einer *.msg Datei 4 Zeilen heraussuchen und diese Zeilen sollen dann in ...

Microsoft Office
Excel Liste nach einem bestimmten Wert durchsuchen und dann einen bestimmten Wert ausgeben
gelöst Frage von michael1306Microsoft Office8 Kommentare

Hallo zusammen, zu meinem kleinen Problem. Ich habe eine Excel Tabelle die mit Daten gefüllt ist nur fehlen mir ...

VB for Applications
Outlook VBA, nur eine bestimmte Anzahl an Items in Ordner durchsuchen
Frage von bigfudgeVB for Applications23 Kommentare

Hallo, Ich habe ein Makro geschrieben, was eigentlich auch funktioniert. Im Grunde durchsucht es einen Folder bei jeder neuen ...

Neue Wissensbeiträge
Mac OS X

MacOS wo ist die Tilde ?

Tipp von Alchimedes vor 2 StundenMac OS X

Hallo, ich hab eine MacOS qwertz Keyboard auf US Layout umgestellt da die Sonderzeichen besser ereichbar sind. Leider fehlt ...

Datenschutz

Weitere Inforamtionen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 9 StundenDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 11 StundenWindows 103 Kommentare

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Microsoft Office

Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei

Anleitung von SarekHL vor 14 StundenMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Microsoft Office
Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei
Anleitung von SarekHLMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von fyrb38Windows 1017 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...