Avatar
Navaho
Člen
Avatar
Navaho:

Zdravim, na úvod pardon, jsem úplný začátečník tak se zeptam nejspíš blbě, ale nenašel jsem to tu.

Například vim že někde na disku C je složka Data, ale nevim její přesnou cestu ani v jakých dalších složkách je umístěna, jen vím že tam je. Lze nějak zjistit přesně její cestu která se samozřejmě může měnit na každém PC ?
Někde to může být C:\Data ... nebo C:\Složka1\Slož­ka2\Data, jak tedy můžu zjistit cestu která se mění ? Doufám že jsem otázku dobře definoval :/

Za jakoukoliv podporu předem děkuji :)

 
Odpovědět 7.3.2014 17:28
Avatar
Odpovídá na Navaho
Michal Maršálek:

Ahoj, taková složka Data bude určitě na disku vícekrát, jak chceš určit která je ta, která tě zajímá? Řešením by mohlo být projít celý disk a při naražení na složku Data její cestu vrátit.

Editováno 7.3.2014 17:33
 
Nahoru Odpovědět 7.3.2014 17:33
Avatar
Odpovídá na Navaho
Michal Žůrek (misaz):

rekurzivně musíš projít celý disk, složku po složce a zjišťovat zdali neobsahuje složku Data. Teď nemám moc času, ale pokud si na tebe vzpomenu napíšu ti example.

Nahoru Odpovědět 7.3.2014 17:49
Nesnáším {}, proto se jim vyhýbám.
Avatar
Navaho
Člen
Avatar
Navaho:

dobrá tak pro zjednodušení se složka nebude jmenovat "Data" ale třeba "Složka_beze_jména" ta zaručeně bude jen jedna v celém PC

Dejme tomu že nějaký, jakýkoliv program si vytvoří složku: "Složka_beze_jména" kdekoliv na disku, v našem případě je jedno kde, ta složka s tímto názvem je jedna jedinná, aniž bych musel složitě jí hledat a staticky zadat cestu například: C:\Složka1\Slož­ka2\Složka3\.­..\Složka_beze_jmé­na, jak bych toho mohl docílit? Aby stačilo zadat pouze Složka_beze_jména dejme tomu aby se ta složka po stisku tlačítka otevřela, a automaticky se mi do příkazu tlačítka dodá i zbytek cesty...

snad sem to trošku osvětlil a doufám že jsem se do toho víc nezamotal

Editováno 7.3.2014 18:20
 
Nahoru Odpovědět 7.3.2014 18:13
Avatar
Odpovídá na Navaho
Michal Maršálek:

Je jedno jak se bude jmenovat, stejně jako programátor musíš počítat se vším. K čemu to vlastně potřebuješ? Je to vůbec pro tvé potřeby nutné?

 
Nahoru Odpovědět 7.3.2014 18:18
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Navaho
Jan Vargovský:
http://msdn.microsoft.com/en-us/library/system.io.path.getfullpath(v=vs.110).aspx
 
Nahoru Odpovědět 7.3.2014 18:25
Avatar
Odpovídá na Navaho
Michal Žůrek (misaz):

úplně nejjednodušší základ je:

static void Main(string[] args)
{
        ScanFolder("C:\\", "$AVG");
        Console.WriteLine("OK");
        Console.ReadKey();
}
static void ScanFolder(string name, string required) {
        string[] subdirectories = Directory.GetDirectories(name);
        foreach (string dir in subdirectories)
        {
                if (dir.EndsWith("\\" + required)) {
                        Console.WriteLine(dir);

                }
                ScanFolder(dir, required);
        }
}

Btw. místo stringu $AVG si dej co chceš, já mám AVG jako první složku, tak jsem použil tu, abych nemusel 100let čekat.

Editováno 7.3.2014 19:43
Nahoru Odpovědět  +1 7.3.2014 19:41
Nesnáším {}, proto se jim vyhýbám.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.