• 16 odgovora
  • 6.605 pregleda
Program za brisanje fajlova 15.01.2009. u 05:07 · pre 216 meseci #1
Kako napisati program da ode u npr. C:\WINDOWS\Prefetch\ i da obrise sve u Prefetch , to sluzi za ubrzavanje racunara...
i jel ima tko primjera od slicni programa..

Hvala
Re: Program za brisanje fajlova 15.01.2009. u 07:12 · pre 216 meseci #2
1. Startuj regedit
2. Idi u HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters\
3. Nadji stavku EnablePrefetcher a ukoliko ne postoji napravi novi DWORD sa tim imenom. Vrednost podesi na 0.
4. Restartuj kompjuter.
Proveri

Sorry, u brzini sam zaboravio da proverim u kom delu foruma se nalazim , posto nemam prava obrisati post postavljen pre 1 dana, molim administratore da to ucine u moje ime.


[Ovu poruku je menjao atom dana 16.01.2009. u 10:48 GMT+1]
Re: Program za brisanje fajlova 15.01.2009. u 10:51 · pre 216 meseci #3
oops.. kolega , nisam to trazio , trazio sam da se napisr program u C++ koji ce obrisati sve fajlove u Prefetch .....
tnX anyWay
Re: Program za brisanje fajlova 15.01.2009. u 11:03 · pre 216 meseci #4
Prvo, to sto radis je gubljenje vremena, bez ikakvog "ubrzanja". Drugo, sors ne bi imao vise od 10-ak linija, pomuci se malo
Re: Program za brisanje fajlova 15.01.2009. u 11:09 · pre 216 meseci #5
Treba ti bilo koja biblioteka koja podrzava rad sa Registry-jem, a moze i preko WinAPI-ja.
Potpis
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
Re: Program za brisanje fajlova 15.01.2009. u 16:35 · pre 216 meseci #6
gle pokusaj, stvarno ubrza. br1. brze se ugasi racunar, i nema zastoja... A br2.. nisam jos dosao do winApia pa nemam pojma kakv bi bio kod, vec mi samo nesto nampalo ... plss jel moze tko postati kod ...
Re: Program za brisanje fajlova 16.01.2009. u 08:05 · pre 216 meseci #8
hmm.. Mnogo hvala za ovu stranicu .. Mislim da cu se snaci...
Hvala jos jednom :D
Ali meni netreba nista u registry, samo sam trazio ovako kod da izbrise npr neki fajl u C:/ ... Ali mislim da cu usjpjeti naci to na toj stranici sto si mi dao::

[Ovu poruku je menjao Topnik_15 dana 16.01.2009. u 09:16 GMT+1]
Re: Program za brisanje fajlova 16.01.2009. u 09:00 · pre 216 meseci #9
Citat:
Topnik_15:
Ali meni netreba nista u registry, samo sam trazio ovako kod da izbrise npr neki fajl u C:/ ...
[Ovu poruku je menjao Topnik_15 dana 16.01.2009. u 09:16 GMT+1]


Code:

BOOL bRet =  DeleteFile ("C:\\nekifajl.txt") ;  
Potpis
Viva lollapalooza
Re: Program za brisanje fajlova 16.01.2009. u 11:08 · pre 216 meseci #10
Citat:
Topnik_15: Ali meni netreba nista u registry, samo sam trazio ovako kod da izbrise npr neki fajl u C:/ ...


Evo ANSI C resenja:

Code:
#include <stdlib.h>

int main() {
    system("del C:\\nekifajl");

    return 0;
}


Ovo je ceo program.
Potpis
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
Re: Program za brisanje fajlova 16.01.2009. u 11:51 · pre 216 meseci #11
Još samo da se ukuca Admin password (na OS-ovima sa strožijim pravilima nego ranije), pod uslovom da dodje do dijaloga ;)
Re: Program za brisanje fajlova 16.01.2009. u 12:42 · pre 216 meseci #12
Citat:
Nedeljko: Evo ANSI C resenja:

Code:
#include <stdlib.h>

int main() {
system("del C:\\nekifajl");

return 0;
}


Ovo je ceo program.


Ako si navodeci termin ANSI C hteo da pokazes kako je tvoj program portabilan onda samo da napomenem nista od toga. Komanda koju si naveo u okviru funkcije system radi samo na windows/DOS masinama.

Pravi portabilni ANSI C nacin bi bio koriscenje funkcije remove za brisanje i tandema opendir/readdir za listu postojecih fajlova na odredjenoj lokaciji ako se radi o brisanju vise fajlova odjednom.
Potpis
Tko leti vrijedi
Re: Program za brisanje fajlova 16.01.2009. u 13:55 · pre 216 meseci #13
Rekao je da hoce da obrise C:\nekifajl, sto znaci da je MS platforma u putanju. Iz svega prilozenog se vidi da je ciljna platforma Windows. Program je portabilan izmedju raznih C komapjlera za Windows, tj. proradice sa bilo kojim ANSI C kompajlerom za Windows.

Znam da dirent.h zaglavlje. Ovo sto je X Files rekao za privilegije je OK, mada kod nas vecina Windows korisnika racunar koristi pod administratorskim nalogom.
Potpis
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
Re: Program za brisanje fajlova 16.01.2009. u 17:29 · pre 216 meseci #14
Poenta je bila da stvarno nema nikakvog razloga za koriscenje komande del koja implicira instanciranje celog komandnog procesora (cmd.exe) samo da bi obrisao jedan ili nekoliko fajlova. Mnogo je brze da koristi predvidjenu funkciju za to. Smatram da je takvo koriscenje komande system u c/c++ neprimereno.
Potpis
Tko leti vrijedi
Re: Program za brisanje fajlova 16.01.2009. u 17:50 · pre 216 meseci #15
hvala na odgovoru da li zna netko kako da oznaci sve fajlove i izbrise ih u Prefetchu... Sto vi ako netko manje pametan ( GLUP ) pita nesto vrlo jednostavno morate komplicirati stvari odgovorima sta ce ti to, ne moze se ubrzati racunar i tako te neke... Pa dajte ljudi malo lakse :)))
Re: Program za brisanje fajlova 17.01.2009. u 01:46 · pre 216 meseci #17
Da si probrstio malo ovaj forum nasao bi slicnih primera.
Brisanje svih fajlova iz Prefetch dir-a ako ce te to tvoju masinu uciniti srecnijom i brzom :)
sa koriscenjem MFC CString-a i win32 api-ija ANSI build :

Code:

void DeletePrefetchFiles() 
{
CString strDirectory  = "C:\\WINDOWS\\Prefetch" ; 

HANDLE hFile = NULL; 
WIN32_FIND_DATA fd ; 

CString strFile = "*.*" ; //brisanje svih fajlova iz Prefetch direktorijuma 
//ako hoces odredjene ekstenzije onda "*.exe" ili "*.pf" itd .. slicno kao u Search for Files or Folders u windows-u 
        
hFile =  FindFirstFile(strDirectory + strFile,&fd) ;
CString strFullName ; 

do 
{
    LPCTSTR lpszFile = fd.cFileName ; 
    if (!(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) //brisi samo fajlove .. direktorijume preskoci ...
    {
       CString strFileName = fd.cFileName ; 
       strFullName = strDirectory + strFileName ; 
       BOOL bRet = DeleteFile (strFullName) ; 
       if (bRet) 
         cout << "Uspesno obrisan fajl :" << strFullName << endl ; 
      else 
       {
          DWORD dwError = GetLastError() ;  // broj greske pri brisanju 
          TCHAR szError [MAX_PATH] ; 
           // uzmi tekst poruke  greske na osnovu koda (dwError) 
           FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,NULL,dwError ,NULL,szError,MAX_PATH,NULL) ;
          cout << "Neuspelo brisanje fajla :" << strFullName << " Greska :" << szError << endl ; //ispisi gresku na konzoli ....
       }

    }
}
while (FindNextFile(hFile,&fd)) ;     
FindClose(hFile) ; 

}
Potpis
Viva lollapalooza
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme