C# - mazani slozek – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

C# - mazani slozek – .NET – Fórum – Programujte.comC# - mazani slozek – .NET – Fórum – Programujte.com

 

ada.acs0
Návštěvník
2. 2. 2008   #1
-
0
-

Zdrawim,
mam kod na smazani, ale nikdy mi neproleze podminka, kdyz to dam bez podminky, vyleze mi z toho error, v C# jsem zacatecnik, proto se obracim na vas s radou



using System;
using System.IO;

class smazani
{
public static void Main()
{
string direct = @"C:\neco";
if
(Directory.Exists(direct))
{
Directory.Delete(direct);
}
else
{
Console.WriteLine("slozka nenalezena");

}

}
}


diky za rady

Nahlásit jako SPAM
IP: 84.42.204.–
:-*
Chrasty
~ Redaktor
+4
Posthunter
2. 2. 2008   #2
-
0
-

Na první pohled jsem neviděl žádnou chybu, tak jsem to zkompiloval a funguje to v pořádku: pokud složka "C:\neco" existuje, smaže ji to, pokud ne, řekne, že složka nebyla nalezena

Nechápu co ti na tom nejde, co přesně myslíš tím "neproleze mi podmínka"?

Nahlásit jako SPAM
IP: 193.179.196.–
ada.acs0
Návštěvník
3. 2. 2008   #3
-
0
-

To Chrasty : Podminkou to neprojde tak, ze se splni else. Zkousel jsem to jiz na 3compech, asi bude problem v tom umisteni, zitra se na to kouknu...

Nahlásit jako SPAM
IP: 84.42.204.–
:-*
mephi0
Expert
3. 2. 2008   #4
-
0
-
Nahlásit jako SPAM
IP: 85.248.56.–
Program nemusi fungovat rychle, staci ze funguje dostatecne rychle.
ada.acs0
Návštěvník
3. 2. 2008   #5
-
0
-

tak jsem tam dal male "c" a uz to funguje :)

edit: kdyz zadam cestu do programu files tak uz to nefunguje, zajimave je ze jsem zkusil vytvorit slozku primo v programu files -> to fungovalo, ale pak jsem zadal slozku jedne hry a to uz hodilo error. Beznym zpusobem v exploreru to smazat jde, nevite v cem je problem?

Nahlásit jako SPAM
IP: 84.42.204.–
:-*
Chrasty
~ Redaktor
+4
Posthunter
3. 2. 2008   #6
-
0
-

To ada.acs : heh,to je divné...mě to funguje s malým i velkým C, co máš za verzi VSka?

Nahlásit jako SPAM
IP: 193.179.196.–
ada.acs0
Návštěvník
6. 2. 2008   #7
-
0
-

To Chrasty : MS Visual Studio 2005 Professional Edition Version 8.0.50727.867

ten kod jsem testoval na Vistach Premium a XP Professional s frameworkem 3

Podrobnosti o chybe (jestli vam to v necem pomuze), ktera mi vyleze kdyz se ma neco smazat v programu files, jsou zde:
Popis
Stopped working

Podpis problému
Název události problému: CLR20r3
Podpis problému 01: cod_demos.exe
Podpis problému 02: 1.0.0.0
Podpis problému 03: 47a632eb
Podpis problému 04: mscorlib
Podpis problému 05: 2.0.0.0
Podpis problému 06: 4536f11f
Podpis problému 07: 3394
Podpis problému 08: 208
Podpis problému 09: System.IO.IOException
Verze operačního systému: 6.0.6000.2.0.0.768.3
ID národního prostředí: 1029

Nahlásit jako SPAM
IP: 84.42.204.–
:-*
jerry1230
Duch
6. 2. 2008   #8
-
0
-

Problemy mozu nastat v dvoch pripadoch:
1.
v zlozke, ktoru chces vymazat sa nachadza nejaky subor alebo ina zlozlka.
Riadok Directory.Delete(direct);
prepis na Directory.Delete(direct, true);
parameter true indikuje to ze zlozka bude vymazana vratane celeho jej obsahu

2
zlozku ktoru xces vymazat pouziva iny program. Naprikad je otvorena v Total comanderi. Pokial je tomu tak, tak TI program vyhodi vynimku IOEXCEPTION.
Vo vnutri bloku if uprav kod naprikald takto:
try
{
Directory.Delete(direct, true);
Console.WriteLine("slozka zmazana");
}
catch (IOException e)
{
Console.WriteLine("Slozku sa nepodarilo vymazat, je pouzivana inym programom");
}

Nahlásit jako SPAM
IP: 78.98.4.–
Su 10 skupiny ludi, ti, ktori rozumeju dvojkovej sustave a ti, ktori nie
w3q0
Věrný člen
6. 2. 2008   #9
-
0
-

Netuším prečo ti to nejde zmazať z Program Files, ja mám takýto kód napr.

/*

* Created by SharpDevelop.
* User: Michal
* Date: 6.2.2008
* Time: 17:36
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.IO;

namespace mazanie_skuska
{
class mazanie
{
public static void Main(string[] args)
{
string priecinok = @"c:\Program Files\GIMPshop\nieco";
if(Directory.Exists(priecinok))
{
Directory.Delete(priecinok);
}
else
{
Console.WriteLine("Priecinok neexistuje");
Console.ReadLine();
}
}
}
}
A v pohode sa to zmaže.

EDIT: Po prečítanie Jerryho príspevku som si uvedomil, že sa snažíš zmazať zložku, ktorá obsahuje nieaké súbory, preto sa za môj blbý comment ospravedlňujem :).

Nahlásit jako SPAM
IP: 88.212.23.–
HTML,CSS,PHP,MySQL, začínam s Objected C 2.0
jerry1230
Duch
7. 2. 2008   #10
-
0
-

Taktiež som nemal problém zmazať adresár z Program Files, ale problem moze nastat v tom pripde, ze nemas potrebné pristupove prava k adresaru (pokiaľ si vo Win prihlasený ako admin, tak by s tým nemal byť problém) alebo zložka obsahuje súbor s atribútom read only (alebo cela zlozka je read only), v tom prípade ti to vyhodí výnimku UnauthorizedAccessException a to moze byt dovod preco ti to cele padne. Najprv si vyskusaj program s adresarom, ktorý si sám vytvoril a keď to rozchodíš, tak potom sa pokušaj vymazať adresár, ktorý vytvorila iná aplikácia.

Nahlásit jako SPAM
IP: 78.98.8.–
Su 10 skupiny ludi, ti, ktori rozumeju dvojkovej sustave a ti, ktori nie
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 19 hostů

Podobná vlákna

Mazání složek — založil

C# mazaní složek ( 2 ) — založil ospaly.stanislav

C# - procházení složek — založil kukla11

Strom složek — založil Míra

[C#] Kopírování složek — založil Prochy

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý