Diskuze: mazání souborů

C# .NET .NET (C# a Visual Basic) mazání souborů American English version English version

Avatar
rrepin15
Člen
Avatar
rrepin15:

Ahoj, ve svém programu mam funkci která smaže adresář. V něm se nacházejí soubory, které tam muj program předtím přesunul. Ale když kliknu na tlačitko smazat tak to nejde, jelikož k nim nemam přistup nebo co. Prostě potřebuju nějak získat "právo" je smazat. Předem dík za odpověď.

void Smazat()
        {
           string path = @"C:\Program Files\mojesoubory\";

            DirectoryInfo path1 = new DirectoryInfo(path);
            DirectoryInfo movies = new DirectoryInfo(path + "movies");
            DirectoryInfo pictures = new DirectoryInfo(path + "pictures");

            foreach (FileInfo file in path1.GetFiles())
            {
                file.Delete();
            }
            foreach (FileInfo file in movies.GetFiles())
            {
                file.Delete();
            }
            foreach (FileInfo file in pictures.GetFiles())
            {
                file.Delete();
            }
            foreach (DirectoryInfo dir in path1.GetDirectories())
            {
                dir.Delete(true);
            }
            Directory.Delete(path);
        }
 
Odpovědět 8.9.2015 18:29
Avatar
Odpovídá na rrepin15
Petr Čech (czubehead):

Proč máš proboha soubory v program files :-?
Každopádně by to měli jít tak, že spustíš ten program jako správce. Přístup k nim nemáš, protože do pogramfiles si nemůže zapisovat kde co.

Nahoru Odpovědět 8.9.2015 19:23
Why so serious? -Joker
Avatar
rrepin15
Člen
Avatar
Odpovídá na Petr Čech (czubehead)
rrepin15:

Ono je to v podstaně takové odinstalování :-)

 
Nahoru Odpovědět 8.9.2015 19:24
Avatar
Odpovídá na rrepin15
Michael Škrášek:

Tak to spusť jako správce ;)
přidej do programu manifest a změň:

<requestedExecutionLevel>

na:

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
Nahoru Odpovědět  +1 8.9.2015 20:35
Proč to dělat složitě, když to jde jednoduše.
Avatar
Adam Ježek
Tým ITnetwork
Avatar
Odpovídá na rrepin15
Adam Ježek:

Jestli to je, jak ty říkáš odinstalace, neodinstalovává to náhodou program který je v té složce, tudíž se to pokouší smazat samo sebe?

A definuj nefunguje. Program proběhne a soubory zůstanou, nebo to spadne s nějakou chybou, nebo co?

Nahoru Odpovědět 9.9.2015 19:15
Programátor dělá co může. Počítač co chce. | Pokud mi dáš mínus, tak prosim, napiš proč!
Avatar
rrepin15
Člen
Avatar
Odpovídá na Adam Ježek
rrepin15:

Ja si dělám vlastní instalaci a to smazání je v případě, když se přeruší kopírování. Jakmile se zruší instalace tak se ukaže messagebox s tlačitky ano a ne jestli se mají smazat soubory, ale jak kliknu na ano tak to vyhodí chybu že to nemá dostatečná práva.

 
Nahoru Odpovědět 9.9.2015 19:23
Avatar
Adam Ježek
Tým ITnetwork
Avatar
Odpovídá na rrepin15
Adam Ježek:

místo vlastní instalace raději použij Inno nebo programy jemu podobné
http://www.itnetwork.cz/…tup-compiler

Nahoru Odpovědět  +2 9.9.2015 19:58
Programátor dělá co může. Počítač co chce. | Pokud mi dáš mínus, tak prosim, napiš proč!
Avatar
Odpovídá na rrepin15
Michal Štěpánek:

Při použití InnoSetup si vytvoříš perfektní instalačku, kde si nastavíš potřebná práva na konkrétní složky.

Nahoru Odpovědět  +1 9.9.2015 20:59
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
rrepin15
Člen
Avatar
Odpovídá na Michal Štěpánek
rrepin15:

Je to pěkný program, avšak jsem si na tom svém dál hodně práce a byl bych nerad kdybych to dělal zbytečně.Potřebuju jen získat přístup k těm souborům.

 
Nahoru Odpovědět 10.9.2015 17:48
Avatar
Milan Křepelka
Redaktor
Avatar
Odpovídá na rrepin15
Milan Křepelka:

Uvažuješ špatně. Programy mají svoje místo v "user space" kam je doporučeno soubory ukládat. Tam si mohou pracovat, vytvářet, mazat.

To že sis už dal s tím nějakou práci není moc podstatné. Je to jako bys udělal koupelnu a vanu udělal vzhůru hohama a pak řekl, no když já sem si s tím dal toliko práce....jenom se tam nedá tak nějak vykoupat.

Navíc přinutit program aby ukládal někam jinam, nemůže být až tak moc složité, pokud je program alespoň v základu slušně napsaný.

 
Nahoru Odpovědět  +1 10.9.2015 19:27
Avatar
rrepin15
Člen
Avatar
Odpovídá na Milan Křepelka
rrepin15:

Tak mi alespoň někdo poraďte jak spustím příkazový řádek s příkazem tam vím jak to smazat.

 
Nahoru Odpovědět 10.9.2015 20:16
Avatar
Milan Křepelka
Redaktor
Avatar
Milan Křepelka:

Komu není radno ....

https://msdn.microsoft.com/…rocess.Start(v=VS.110).aspx

 
Nahoru Odpovědět 10.9.2015 20:34
Avatar
Nahoru Odpovědět 10.9.2015 20:48
I have a charger. I have Note 7. Umh I haven't Note7.
Avatar
Milan Křepelka
Redaktor
Avatar
Odpovídá na Ondřej Langr (andysekcze)
Milan Křepelka:

Dáme si qvíz. Když tu konzoli otevře z programu .... smaže ty soubory, když je nesmaže v tím programem? Ja si tedy počkám ...

 
Nahoru Odpovědět 10.9.2015 21:01
Avatar
Odpovídá na Milan Křepelka
Ondřej Langr (andysekcze):

Sry, teď tě nechápu, buď to zformuj tak aby to pochopil někdo kdo je unaven anebo počkej na to až se prospím. Teď bych s velkou davkou štěstí napsal Hello World ;-) :-D

Nahoru Odpovědět 10.9.2015 21:14
I have a charger. I have Note 7. Umh I haven't Note7.
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 16 zpráv z 16.