Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Brisanje batch fajlmom iz Delphi programa

[es] :: Pascal / Delphi / Kylix :: Brisanje batch fajlmom iz Delphi programa

[ Pregleda: 3823 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

tkaranovic
Tomislav Karanović
Beograd

Član broj: 220507
Poruke: 307



+18 Profil

icon Brisanje batch fajlmom iz Delphi programa26.03.2015. u 09:52 - pre 109 meseci
Kad bi vam neko rekao da bi trebalo da brisete batch fajlmom iz Delphi programa ovako:


del /f/s/q foldername > nul
rmdir /s/q foldername

jer pise na ovom linku:

http://stackoverflow.com/quest...der-in-windows/6208144#6208144

da je to najbrze brisanje. Sta bi mu rekli na to?
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4901
*.dynamic.sbb.rs.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Brisanje batch fajlmom iz Delphi programa26.03.2015. u 18:08 - pre 109 meseci
Misliš sa stanovišta samo brzine, ili i drugih apekata, kao što su bezbednost, pouzdanost (UAC, AV, Exceptions)?
 
Odgovor na temu

tkaranovic
Tomislav Karanović
Beograd

Član broj: 220507
Poruke: 307



+18 Profil

icon Re: Brisanje batch fajlmom iz Delphi programa26.03.2015. u 18:24 - pre 109 meseci


Da, mislim koliko ima smila pokretati proces koji se ne moze kontrolisati na na jedan nacin?


To naravno, ne vazi samo Za Delphi nego bilo koji drugi nacin pravljenja desktop programa (ili bilo kog programa).
Kada vec moze da se napravi program koji moze da kontrolise ceo proces, cemu prepustati to drugom procesu bez ikakve kontrole?

Meni se cini ocigleno besmisleno, da li gresim?
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4901
*.dynamic.sbb.rs.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Brisanje batch fajlmom iz Delphi programa26.03.2015. u 18:53 - pre 109 meseci
Ako je stvar u efikasnom brisanju baš, baš velike količine podataka odjednom, verovatno bi trebalo razmisliti o particiji namenjenoj samo tome, pa onda nekakav atak na nju. Naravno, pod uslovom da su ti podaci pod kontrolom softvera.

U par navrata jesam koristio batch skripte, za parsiranje izlazng TXT sadržaja nekog EXE-a, kada nisam imao svoje rešenje.

Što se tiče smisla kod brisanja, imao sam u praksi situacije da nešto što "nije htelo" da se ukloni kroz Windows, a htelo je kroz konzole. Mislim da je bilo u vezi sa nekom probolematikom u nazivima ili dužini fajlova/foldera. Skraćena reprezentacija fajlova u konzolnom režimu je ovo bez problema rešavala. Doduše, to je bilo na starijim sistemima, sumnjam da bi danas bilo efekta.

Ja bih izbegavao batch skripte... Pre bih napravio neki background proces, pa koliko traje da traje.
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Brisanje batch fajlmom iz Delphi programa27.03.2015. u 14:09 - pre 109 meseci
> Kad bi vam neko rekao da bi trebalo da brisete batch fajlmom iz Delphi programa ovako:
> del /f/s/q foldername > nul
> rmdir /s/q foldername
> jer pise na ovom linku:
> http://stackoverflow.com/quest...der-in-windows/6208144#6208144
> da je to najbrze brisanje. Sta bi mu rekli na to?

Da se link/pitanje odnosi na svakodnevni rad i da ne važi za programsko rešenje.
Ako se traži programsko rešenje onda je bolje to ručno uraditi.
Inače ako se briše ceo dir, posebno sa dosta fajlova, ubedljivo najbrzi način je slanje celog u recycle bin, ne brisanje pojedinačnih fajlova pa na kraju brisanje dira.

 
Odgovor na temu

tkaranovic
Tomislav Karanović
Beograd

Član broj: 220507
Poruke: 307



+18 Profil

icon Re: Brisanje batch fajlmom iz Delphi programa27.03.2015. u 16:46 - pre 109 meseci

Da, najbze je u recycle bin.

Samo ako par GB treba obrisati cesto onda treba i recycle bin prazniti.
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Brisanje batch fajlmom iz Delphi programa27.03.2015. u 17:10 - pre 109 meseci
Brisanje ide sa SHFileOperation, ne secam se da li vraca broj/veličinu obrisanih fajlova. Ako nema tu, treba videti da li se recycle bin može pitati za veličinu obrisanih fajlova.
Ili ako su ti dirovi uglavnom veliki, ubaci uvek poziv i za SHEmptyRecycleBin.
 
Odgovor na temu

tkaranovic
Tomislav Karanović
Beograd

Član broj: 220507
Poruke: 307



+18 Profil

icon Re: Brisanje batch fajlmom iz Delphi programa30.03.2015. u 11:46 - pre 109 meseci
Total File Size: 4.06 GB
Running Recycle Bin deletion...
Total time (h.m.s.ms): 00.00.38.527

Total File Size: 4.06 GB
Running batch script...
Total time (h.m.s.ms): 00.00.10.441

Total File Size: 4.06 GB
Running FindFirst/DeleteFile/RemoveDir deletion...
Total time (h.m.s.ms): 00.00.06.944


Evo kako izgleda testiranje Recycle Bin, batch skript i rekurzija FindFirst/DeleteFile/RemoveDir.
Ovo je 64-bitna aplikacija ali to ne utice na brzinu.
Test je na brzom disku pa zato tako brzo brise. Ne treba ocekivati takvu brzinu na sporijem.


Recycle Bin u ovom slucaju nije koristan uopste jer je previse spor.
Naravno, u ovom slucaju radi sa praznjenjem jer samo tako ima smisao.

Batch script jeste brz kao sto pisu.

FindFirst/DeleteFile/RemoveDir bi bio iste brzine kao Batch da nema jednu caku ubacenu.
To je isto smisao pisanja programa na koji sam mislio na pocetku teme.


Saljem ovde program, da ko hoce moze da proveri rezultate koje sam ispisao.
Ne mogu da posaljem kod jer sam ga pisao za nekog drugog.
Jedino sto mogu da napisem je da, recimo, FindFirst/Next ako se podeli na rekurziju brisanja
fajlova i drugu u kojoj se brisu folderi radi brze i slicno kao batch.
Treba razmislitit zasto je to tako i otici korak dalje pa koristiti samo jednu rekurziju.

Ovo objasnjenje sam napisao ako nekome zaista treba brzo brisanje da moze
da razmisli kako da smisli resenje i sam ga napise.

Hvala ucesnicima ove teme jer je ovako izazov da nadjem bolje resenje bio veci. :)
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Brisanje batch fajlmom iz Delphi programa30.03.2015. u 11:54 - pre 109 meseci
> Total File Size: 4.06 GB
> Running Recycle Bin deletion...
> Total time (h.m.s.ms): 00.00.38.527

A koliko je samo brisanje (bez praznjenja)?

> Recycle Bin u ovom slucaju nije koristan uopste jer je previse spor.
> Naravno, u ovom slucaju radi sa praznjenjem jer samo tako ima smisao.

A sto ne stavis praznjenje u pomocni thread?
 
Odgovor na temu

tkaranovic
Tomislav Karanović
Beograd

Član broj: 220507
Poruke: 307



+18 Profil

icon Re: Brisanje batch fajlmom iz Delphi programa30.03.2015. u 12:06 - pre 109 meseci

> A koliko je samo brisanje (bez praznjenja)?

Nisam to probao jer se to ne trazi.


> A sto ne stavis praznjenje u pomocni thread?

Takav je zahtev narucioca.


Inace ne mogu da poslajem fajl jer je izgleda malo vezi za ovaj forum a stalno ispisuje:

> Morate izabrati fajl za upload.

Probao sam iz IE i iz FireFoxa.
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Brisanje batch fajlmom iz Delphi programa30.03.2015. u 12:28 - pre 109 meseci
>> A sto ne stavis praznjenje u pomocni thread?

> Takav je zahtev narucioca.

Ne vidim šta dobija time, ako želi sigurno brisanje (da se fajl ne može povratiti), to se sa običnim deletom ne može postići tako da i RecBin brisanje i pražnjenje u pozadini ne utiče na tačnost metode a treba da se dobije na brzini.

Inače ima i bržih metoda od FindFirst/Next pa eventualno još možeš poboljašti rezultate.

> Inace ne mogu da poslajem fajl jer je izgleda malo vezi za ovaj forum a stalno ispisuje:

Mislim da je ograničenje 1mb.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Brisanje batch fajlmom iz Delphi programa

[ Pregleda: 3823 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.