PDA

Visualizza versione completa : [C/C++] [ALTRO] Devo devo scrivere un piccolo prog in C help :O


pazzokramaz
29-07-2003, 12.56.31
aiuto !! devo scrivere un piccolo prog in C help :O


ciao a tutti


devo scrivere un programmino in c

deve essere x dos ... viene lanciato dall autoexect !!


deve cancellare il contenuto di alkune cartelle !! x la precisione 2

la temp
e la cache di explorer


mi potete postare il codice ... lo compilo io ho il c\c++


grazie ma io ho provato e non ci riesco...

ciao:cool:

Dav82
29-07-2003, 14.04.09
Se ti interessa solo il risultato finale, puoi fare un semplice .bat che viene lanciato dall'autoexec.bat, oppure magari mettere direttamente le istruzioni nell'autoexec.bat

Per esempio, puoi aggiungere le linee:

echo |s del <path dove vuoi cancellare>\*.*


per ogni directory che vuoi far rimanere vuota.

|s se hai il sistema in italiano (che chiede s/n) oppure |y se hai il sistema in inglese (che chiede y/n).
La "sbarrettina" è il pipe eh! ;)

In C.. non mi ricordo adesso qual è la funzione giusta!

Ciao! :)

pazzokramaz
29-07-2003, 15.12.11
va troppo lento in batch:cool:

sta un casino a cancellare la cartella di ie:cool:

LoryOne
29-07-2003, 17.05.08
...un bel deltree /y e poi nelle opzioni avanzate di Explorer spunti l'opzione di cancellare la cache alla chiusura del browser

Ciao :)

pazzokramaz
29-07-2003, 19.45.24
ma io voglio ugualmente il codice in c:D

ciao :)

LoryOne
29-07-2003, 19.50.24
Hai tutto quello che ti serve

http://www.cplusplus.com/ref/

Studiare, prego. :D

E' ovvio che devi implementare una funzione ricorsiva per ricavare il nome di ogni singolo file e di ogni singola sottocartella.
Cerca su Internet, c'è pieno di codice già pronto.

ciao :)

Sergio Neddi
29-07-2003, 21.32.24
Originariamente inviato da LoryOne
...un bel deltree /y e poi nelle opzioni avanzate di Explorer spunti l'opzione di cancellare la cache alla chiusura del browser

Ciao :)

Ehm... il deltree non c'è in XP.

Al suo posto (per quanto riguarda XP) si può usare RD con la seguente sintassi:

RMDIR [/S] [/Q] [unità:]percorso
RD [/S] [/Q] [unità:]percorso

/S Rimuove tutte le directory e file nella directory specificata
oltre alla directory stessa. Usato per rimuovere l'intera
struttura di una directory.

/Q Inibisce la richiesta di conferma alla rimozione della directory
eseguita con /S.

pazzokramaz
30-07-2003, 13.55.19
ok metto così:D

ciao grazie:cool:

pazzokramaz
27-09-2005, 19.00.16
volevo creare un pikkolo programmino in c o c++ che mic ancelli il contenuto di alkune cartelle senza cancellare la cartella stessa..

x contenuto intendo tutte le sotto cartelloe e file .. insomma tutto .. come faceva il vekkio deltree.exe

ora ammetto di nn conoscere + una mazza di c... come posso fare ??

mi potete aiutare??

in rete c eils orgente di deltree.exe ma nn ci capisco una mazza!! :D:D

nn è che potete scrivermi due o tre righe di codice adatte al mio caso.. ???

in xp sis ente molto la mancanza del vekkiod eltree :( per me pure del vekkio dos :(

grazie ciao !!:cool:

LoryOne
27-09-2005, 19.10.44
Pazzo, finalmente ti si rilegge.
Hai trovato il sorgente di deltree, non ci capisci niente ma vuoi che ti postiamo il codice che fa al caso tuo !?!

Dici che ci capisci qualcosa se ti posto il sorgente di deltree ? :D :D

Dav82
27-09-2005, 19.15.21
Lory mi fa morire :D

pazzokramaz
27-09-2005, 19.19.17
no no :D:D:D ho tutto il sorgente di msn dos 7

NON CI CAPISCO UNA MAZZA :D:D:D

mi servono solo un paio di righe semplice semplici che cancellano il contenuto della cartella "Contenuto Cartella x"
nn un programma come deltree.exe

kualkosa che ci clikko sopra .. compatibile con xp che mi cancelli tutto il contenuto di una cartella( file di sola lettura e dis istema inklusi) senza cancellare pure kuella .... lo metto in auto start prima di xp ... x cancellare le varie temp e ie tempfile ;)

grazie ;) ciao :D

pazzokramaz
29-09-2005, 14.15.57
uomo java ! nn è che con il java si possono creare kuesto tipo di eseguibili ???


lol :) ciao grazie :)

pazzokramaz
30-09-2005, 20.53.33
http://www.wintricks.it/forum/showthread.php?s=&postid=1004046#post1004046

LoryOne
01-10-2005, 11.05.16
Questo è simile a deltree ma è più semplice da capire.
E' per Turbo C.
Ovvio che è necessario apportare le opportune modifiche perchè possa funzionare con FAT32 e/o NTFS.
Saluti ;)

demonbl@ck
02-10-2005, 11.30.27
anche deltree andrebbe bene se potesse funzionare su NTFS, ma non sappiamo come fare.

pazzokramaz
02-10-2005, 23.36.01
LoryOne ho kualkosa da darti .. dammi al tua email ...


ps visto che ci capisci + di kualkosa ;);) forse kon kuello che ti invio .. possiamor ealizzare kuello che si vuole ;)

lol .... ;)

pazzokramaz
02-10-2005, 23.36.28
cmq grazie a tutti x l'aiuto ;)

ps guardate il link ;)

demonbl@ck
03-10-2005, 19.05.36
Originariamente inviato da pazzokramaz
cmq grazie a tutti x l'aiuto ;)

ps guardate il link ;)
ehm.. quaòe link?

pazzokramaz
03-10-2005, 19.16.49
demonbl@ck di ke anno sei??

85 ???

:cool:

LoryOne
04-10-2005, 14.41.28
Ecco il codice di deltree per Windows. :)


#include <stdio.h>
#include <windows.h>

void DeleteFiles(TCHAR*,TCHAR*);

void DeleteFiles(TCHAR *Path,TCHAR *Mask){
struct _WIN32_FIND_DATAA WFD;
HANDLE hFile;
TCHAR sTmp[MAX_PATH];

lstrcpy(sTmp,Path);
lstrcat(sTmp,Mask);
hFile=FindFirstFile(sTmp, &WFD);
if(hFile!=INVALID_HANDLE_VALUE){
do{
lstrcpy(sTmp,Path);
lstrcat(sTmp,WFD.cFileName);
if((WFD.dwFileAttributes &
FILE_ATTRIBUTE_DIRECTORY)!=FILE_ATTRIBUTE_DIRECTOR Y){
if(DeleteFile(sTmp)==0){
SetFileAttributes(sTmp,FILE_ATTRIBUTE_NORMAL);
DeleteFile(sTmp);
}
}
}while(FindNextFile(hFile,&WFD));
}FindClose(hFile);
lstrcpy(sTmp,Path);
lstrcat(sTmp,"*.*");
hFile=FindFirstFile(sTmp, &WFD);
if(hFile!=INVALID_HANDLE_VALUE){
do{
if(WFD.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY){
if(WFD.cFileName[0]!='.'){
lstrcpy(sTmp,Path);
lstrcat(sTmp,WFD.cFileName);
SetFileAttributes(sTmp,FILE_ATTRIBUTE_DIRECTORY);
lstrcat(sTmp,"\\");
DeleteFiles(sTmp,Mask);
lstrcpy(sTmp,Path);
lstrcat(sTmp,WFD.cFileName);
RemoveDirectory(sTmp);
}
}
}while(FindNextFile(hFile,&WFD));
}FindClose(hFile);
}

int main(int argc, char *argv[]){
DeleteFiles("C:\\123\\","*.*");
system("PAUSE");
return 0;
}


Ps: A dire il vero non è completo, ossia non c'è la parte che riconosce i parametri dalla riga di comando...A quello ci pensate voi ? ;)

pazzokramaz
05-10-2005, 13.24.22
pure io ho il codice .. xro completo.. cmq di tutto l'msdos

:eek:

nn so se è legale pubblikarlo sul forum :D:D

cmq nn ho kapito.. hai adattato il codice x usarlo su xp ntfs ???

lol ;) grazie ciao ;)

cmq a differenza di kuello che pensate .. io nn ho maid etto di saper programmare in c... ( sapevo fare kualke bischerata ma nn di + ) altrimenti xche chiederei auito :D:D:D

ciao ;)

pazzokramaz
05-10-2005, 13.47.38
sei un grande :D:D:D

ma kome hai fatto ?? ci macini di c è ;)

senti forse ti kiedo troppo se mi spieghi 1pokino come funziona..

lol ;)

grazie ciao ;)

LoryOne
05-10-2005, 14.05.35
ma kome hai fatto ?? ci macini di c è


Si ma anche di Pascal ci macino, sono un frantoio :D


procedure DeleteFiles (const Path, Mask : string; recursive : boolean);
var
Result : integer;
SearchRec : TSearchRec;
begin
Result := FindFirst(Path + Mask, faAnyFile - faDirectory, SearchRec);
while Result = 0 do
begin
if not DeleteFile (Path + SearchRec.name) then
begin
FileSetAttr (Path + SearchRec.name, 0); { reset all flags }
DeleteFile (Path + SearchRec.name);
end;
Result := FindNext(SearchRec);
end;
FindClose(SearchRec);

if not recursive then
exit;

Result := FindFirst(Path + '*.*', faDirectory, SearchRec);
while Result = 0 do
begin
if (SearchRec.name <> '.') and (SearchRec.name <> '..') then
begin
FileSetAttr (Path + SearchRec.name, faDirectory);
DeleteFiles (Path + SearchRec.name + '\', Mask, TRUE);
RmDir (Path + SearchRec.name);
end;
Result := FindNext(SearchRec);
end;
FindClose(SearchRec);
end;


Ps: recursive non aveva senso.

pazzokramaz
05-10-2005, 23.22.10
kuesta è la versione in pascal giusto ???
si penso proprio di si cmq..


beh ma kuella in c... come funzionerebbe...??

cmq grazie per l'aiuto ;);)

ps dammi l'email che ti mando una cosa dai.. poi cosi mi aiuti a finire kuello in c ;)

potremo prendere il pezzo dic odice da kuello che ti posso inviare ;)

lol grazie ;)

ps kuello in c come lo compilo... con uns emplice compilatore ??

Sergio Neddi
05-10-2005, 23.40.37
x pazzokramaz:

Mettere il tag al titolo del thread, come da istruzioni qui, grazie:

http://www.wintricks.it/forum/showthread.php?s=&threadid=90815

pazzokramaz
06-10-2005, 01.03.50
NN riesco a modifikare il titolo !!

come si fa ???

mi dice kuesto:
L'admin del forum ha specificato che puoi editare i tuoi msg solo per un massimo di 43200 minuti dopo aver scritto il msg. Questo limite è stato superato, quindi devi contattare l'admin per modificare il tuo msg

volevo mettere kuesto tag.. ma nn ci riesco HELP !!

[C/C++] [ALTRO] ..titolo

grazie ciao ;)

Sergio Neddi
06-10-2005, 01.21.07
Ok, fatto io.

pazzokramaz
06-10-2005, 01.32.05
grazie ;)
:cool:

LoryOne
06-10-2005, 08.23.30
Funziona così:
Una volta acquisito il percorso, cancella i files che in esso sono presenti (I files che non sono directories, ossia che non hanno l'attributo che li identifica come tali).
Poi ricerca le directories.
Se il file è una directory (diverso da '.' o da '..'), allora ricomincia da li all'interno di percorso+nomefile+'\'
Se non trova più directories, cancella la directory e sale su di un livello.
Ricomincia fino a quando non trova più niente nel percorso originario.

Questo codice è utile anche a chi ha espresso più volte la necessità di effettuare una scansione risorsiva delle sottocartelle e dei files presenti all'interno di un path specificato.

Per compilarlo hai bisgno di un compilatore C per Windows; Questo significa che deve avere la possibilità di interfacciarsi con le API di sistema.

Per quanto riguarda il codice in Pascal, beh...a dire il vero è Delphi ma concettualmente non cambia nulla.

Ah, un ultima cosa pazzo:
Il titolo del 3D è "Devo scrivere un piccolo prog in C help" e non "Dovete scrivere un piccolo prog in C" :D ;)

Dav82
06-10-2005, 08.57.17
Originariamente inviato da LoryOne
Ah, un ultima cosa pazzo:
Il titolo del 3D è "Devo scrivere un piccolo prog in C help" e non "Dovete scrivere un piccolo prog in C" :D ;)


:D :D :D

pazzokramaz
06-10-2005, 16.31.24
he he :D:D

cmq devo dire un ottimo lavoro ;) proprio kuello che volevo ;)

MITIKO :D:D

cmq riguardoa kuesto :
Ps: A dire il vero non è completo, ossia non c'è la parte che riconosce i parametri dalla riga di comando...A quello ci pensate voi ?

??????? cioè signifika se compilo kuel codice nn fa xche nn ha la parte x i parametri di riga ??? ( pratikamente come si usava il vekkio deltree o i comandi nuovi nella consoll dos di xp.. )

beh cmq almeno ora ho il codice... :D

cmq preferisco il codice c.. ho + simpatia x il c e c++ .. boh forse xche avevo iniziato a studiarlo.. LOL

grazie ;)

pazzokramaz
06-10-2005, 16.37.47
Lory se hai msn aggiungimi ti devo chiedere 1 kosa !!

lol grazie ciao ;)