Find mappe, smarteste løsning?

Tags:    c#

Hej folkens.

Jeg står i den situation at jeg skal skrive et lille program, der finder en mappe (hvis navn er kendt) og derefter smider nogle filer ind.

Det med at smide filerne derind har jeg helt styr på. Mit problem ligger i at jeg simpelthen ikke ved hvordan jeg skal gribe sagen an med at finde mappen.

Det er ikke kendt hvor mappen ligger, kun hvad mappen hedder.

Jeg havde overvejet at lede alle shortcuts i start menuen igennem, men der må da være en lettere løsning?

Jeg har arbejdet med dette problem i meget lang tid, og jeg må desværre sige at jeg har givet lidt op.

Alt hjælp vil være meget værdsat!

Jeg leder specielt efter "hints" til hvordan jeg kan knække dette problem, eventuelt med en lille klump kildekode, bare for at demonstrere løsningen, da jeg stadig er forholdsvis ny indenfor c#

Tusinde tak !



Indlæg senest redigeret d. 13.07.2009 13:33 af Bruger #12919
8 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Det første jeg tænkte var hvad hvis der var to mapper der hed det samme men med forskellige placeringer?

Er mappen placeret et bestemt sted på for eksempel C: drevet eller kan den ligge hvor som helst?



Nedenstående code-behind kode forudsætter en form ved navn Form1 med følgende kontroller:

textBox1 : her indtastes navnet på den folder man vil finde
textBox2 : (multiline) her vises den sti hvor folderen findes (hvis den findes)
Label2 : her vises den aktueller folder som der søges i
Button1: Knappen der starter søgningen + click event

Startfolderen er hardkodet, men jeg er sikker på at du kan ændre den efter behov :)

Fold kodeboks ind/udKode 






Indlæg senest redigeret d. 17.07.2009 01:17 af Bruger #15156
Det første jeg tænkte var hvad hvis der var to mapper der hed det samme men med forskellige placeringer?

Er mappen placeret et bestemt sted på for eksempel C: drevet eller kan den ligge hvor som helst?


Den kunne -principielt- ligge hvor som helst, men det er meget, meget sandsynligt at den vil være placeret på c: drevet, men da dette lille program skal bruges på en lang række computere, skulle den gerne tjekke om mappen er den rigtige, dette kan jeg selv lave, ved at tjekke om den inderholder en række filer, som der skal være. Jeg mangler bare at finde ud af, hvordan jeg finder mappen.

Mit eget forslag med at søge gennem shortcuts i startmenuen, var simpelthen bare for at gøre søgningen hurtigere, jeg ved ikke om det er en hverken brugbar eller god løsning.

Jeg har ingen tisbegrænsning på opgaven, ej heller et løfte om at lave det. Jeg laver det udelukkende for at lette min papfars arbejdsopgaver, da det er en lang gentagelse af at skulle finde mappen et vilkårligt sted på den computer han nu skal kigge på den dag, og derefter overføre filerne.



Når du siger at du vil søge i start menuen er det så fordi du ved at genvejen går til en mappe der ligger tæt på den mappe du ønsker at finde?

-- Fandt dette på MSDN og ændredede lidt på det:

Fold kodeboks ind/udKode 


Prøv at kalde den med en mappe du ved der er på computeren og se om den giver hele stien til mappen: DirSearch("mappe", "C:\");

Tror ikke det gør noget du søger hele computeren så længde det kun er mapper burde det ikke tage særlig lang tid, men er ikke sikker.



Indlæg senest redigeret d. 13.07.2009 23:02 af Bruger #14645
jeg synes at det smarteste er at adressere hvorfor at data bliver "smidt" et fuldstændigt vilkårligt sted på computeren.

Det lyder meget mystisk.

Jeg har på fornemmelsen at din far henter data'ene via en browser og derefter vælge at gemme dem på disken.

Det ville i så fald lette processen en del, hvis han altid valgte at gemme dem et bested sted på disken.



jeg synes at det smarteste er at adressere hvorfor at data bliver "smidt" et fuldstændigt vilkårligt sted på computeren.

Det lyder meget mystisk.

Jeg har på fornemmelsen at din far henter data'ene via en browser og derefter vælge at gemme dem på disken.

Det ville i så fald lette processen en del, hvis han altid valgte at gemme dem et bested sted på disken.


Det skyldes at han laver noget support af en art, hvor han skal logge ind på folks computere, og opdatere nogle vilkårlige filer, de fleste folk ligger deres mapper fuldstændigt åndsvage steder, og langt de fleste skriver ikke hvor det er, det er derfor :/



Når du siger at du vil søge i start menuen er det så fordi du ved at genvejen går til en mappe der ligger tæt på den mappe du ønsker at finde?

-- Fandt dette på MSDN og ændredede lidt på det:

Fold kodeboks ind/udKode 


Prøv at kalde den med en mappe du ved der er på computeren og se om den giver hele stien til mappen: DirSearch("mappe", "C:\");

Tror ikke det gør noget du søger hele computeren så længde det kun er mapper burde det ikke tage særlig lang tid, men er ikke sikker.


Tak for din indsats! det vil jeg tage et kig på når jeg kommer på arbejde i morgen :D



Når du siger at du vil søge i start menuen er det så fordi du ved at genvejen går til en mappe der ligger tæt på den mappe du ønsker at finde?

-- Fandt dette på MSDN og ændredede lidt på det:

Fold kodeboks ind/udKode 


Prøv at kalde den med en mappe du ved der er på computeren og se om den giver hele stien til mappen: DirSearch("mappe", "C:\");

Tror ikke det gør noget du søger hele computeren så længde det kun er mapper burde det ikke tage særlig lang tid, men er ikke sikker.


Jeg kan sagtens se hvad det er du vil, men jeg kan simpelthen ikke få det til at virke i praksis, og det er garanteret åbenlyst, men nu har jeg siddet og rodet med det en times tid, kan simpelthen ikke knække den.

Når jeg paster kodestykket ind får jeg disse 2 fejl:
1. "} expected" denne fejl kender jeg, og jeg har talt de der bracers, og der er umiddelbart lige mange ? :(

2. "Type or namespace definition, or end-of-file expected" kan godt se at den her formentligt kommer direkte fra den anden fejl, men da jeg ikke kan se hvad der forårsager den anden fejl, er jeg desværre på lidt bar bund.

3. Jeg ved simpelthen ikke hvordan man erklærer hvilken mappe ("sDir" ?) den skal søge efter, og hvilket drev ("startDir" ?) den skal starte i :(

Jeg har gjort absolut ingenting indtil videre, da jeg ligemeget hvad jeg prøver at ændre, får et shitload af fejl smidt i hovedet.

En lille smule hjælp, please? :(



t