Effacer fichier

chikamaru2 Messages postés 4 Date d'inscription dimanche 14 août 2005 Statut Membre Dernière intervention 15 août 2005 - 15 août 2005 à 18:34
cs_keil Messages postés 52 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 25 octobre 2005 - 17 août 2005 à 10:41
Salut à tous.Voila,je voudrais créer un prog qui effacerai les fichier sans extention à la racine de mon disque dur.Si quelqu'un pourait maider car je bute.

19 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
15 août 2005 à 18:46
Tu as essayé avec la fonction de l'API Windows DeleteFile ?

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 août 2005 à 18:51
Allez un effort, propose nous une petite fonction qui dit s'il y a une extension sur un nom de fichier.
Quand sera fait on te donne le reste, honnête ok ?

ciao...
BruNews, MVP VC++
0
chikamaru2 Messages postés 4 Date d'inscription dimanche 14 août 2005 Statut Membre Dernière intervention 15 août 2005
15 août 2005 à 19:09
Re.Desoler mais je n'arrive pas a fair ca.Je suis novice
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 août 2005 à 19:13
Alors file te mettre devant un bouquin de C et apprends à pacourir une chaine avec un pointeur, suffira de vérifier si tu trouves un '.' à un certain moment à l'adresse du pointeur.

ciao...
BruNews, MVP VC++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
chikamaru2 Messages postés 4 Date d'inscription dimanche 14 août 2005 Statut Membre Dernière intervention 15 août 2005
15 août 2005 à 19:21
Merci
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 août 2005 à 19:26
Ensuite tu pourras copier ça:

#include <windows.h>


void __stdcall EffaceSansExtensions(char *szroot)
{
WIN32_FIND_DATA wfd;
char *c;
HANDLE hfl;
SetCurrentDirectory(szroot);
hfl = FindFirstFile("*.*", &wfd);
if(hfl == INVALID_HANDLE_VALUE) return;
flVERIF:
if(wfd.cFileName[0] == '.') goto flNEXT;
if(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) goto flNEXT;
c = wfd.cFileName;
do {
if(*c == '.') goto flNEXT;
} while(*++c);
if(!(wfd.dwFileAttributes & FILE_ATTRIBUTE_NORMAL)) SetFileAttributes(wfd.cFileName, FILE_ATTRIBUTE_NORMAL);
DeleteFile(wfd.cFileName);
flNEXT:
if(FindNextFile(hfl, &wfd)) goto flVERIF;
FindClose(hfl);
}


int WINAPI WinMain(HINSTANCE h, HINSTANCE x, LPSTR y, int z)
{
EffaceSansExtensions("D:\"); // CANGER DE RACINE ICI
return 0;
}

ciao...
BruNews, MVP VC++
0
xterminhate Messages postés 371 Date d'inscription dimanche 4 janvier 2004 Statut Membre Dernière intervention 23 septembre 2009
15 août 2005 à 22:08
C'est le genre d'application qui lorsqu'elle est buggée.... peut anéantir une machine en quelques secondes

Cordialement,
Xterminhate.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 août 2005 à 22:14
bien pour cela que j'ai fini par lui donner prêt à l'emploi, n'effacera "QUE" les fichiers sans extensions, en espérant qu'il n'en ait pas trop de vitaux dans la directory passée en param.

ciao...
BruNews, MVP VC++
0
xterminhate Messages postés 371 Date d'inscription dimanche 4 janvier 2004 Statut Membre Dernière intervention 23 septembre 2009
15 août 2005 à 22:19
Il va bien tenter de changer une ligne de ton code... pour voir ! :-)

Cordialement,
Xterminhate.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 août 2005 à 22:38
ah oui ? alors je prépare le camescope.
Paré, on tourne.

ciao...
BruNews, MVP VC++
0
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 4
16 août 2005 à 00:14
chez moi j'ai un fichier sans extension a la racine du C: qui est ntldr et qui a mon avis ne doit pas etre effacé ...

enfin bon les trucs vraiment critiques sont pas effacables car utilisés par un autre process ...

cela dit j'ai pas essayé
0
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 4
16 août 2005 à 00:15
Le fichier NTLDR, NT Loader, est situé sur la partition amorçable active. Ce fichier permet d’amorcer le système. NTLDR
fait appel à des fichiers pour lancer Windows XP. Ce fichier ne doit en
aucun cas être modifié, compressé ou supprimer, au quel cas votre
ordinateur ne pourra pas démarrer le système.





lol
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
16 août 2005 à 00:24
moi j'ai mis D:\ dans l'exemple, ensuite on ne peut rien contre les kamikazes.
cosmobob tu as bien fait de le rappeler, il ne pourra plus dire qu'il ne savait pas.

ciao...
BruNews, MVP VC++
0
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 1
16 août 2005 à 01:35
On dirait que cosmobob est arrivé trop tard....

Ce n'est pas grave, il va sans doute nous raconter l'agonie de son ordinateur depuis un cyber café.
0
xterminhate Messages postés 371 Date d'inscription dimanche 4 janvier 2004 Statut Membre Dernière intervention 23 septembre 2009
16 août 2005 à 07:42
Il en avait peut être assez de windows... ;-)

Cordialement,
Xterminhate.
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
16 août 2005 à 23:00
moé, le C n'est peut etre pas a mettre entre toutes les mains finalement

ceci dit, un joli batch pouvait faire le mm effet...



au passage, compliment BN pour ce
*++c



j'avais pas encore essayer cette associaion là (ou alors, CT y a lgt)



domage, que les post et pré opérateurs ne soient pas utilisables simultamnéements...



vs saviez qu'il y a des concours pour ce genre de code?


___________________________________________________________
Magicalement
Nono
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
16 août 2005 à 23:23
c'était obligé de préincrem puisque je mets en fin de do{} la vérif.
Rien de mystique là dedans

ciao...
BruNews, MVP VC++
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
16 août 2005 à 23:29
et non tu n'était pas obligé, d'aucun auraient fait l'incrémentation ds la boucle


non, rien de mystique, mais je trouve ça ammusant fasse à ts ceux
qui écrivent un code qui traine en longueur et est peut etre plus
lisible (quoique ça va très bien là)

mais surement moins rapide et moins bien interprété par le compilo


___________________________________________________________
Magicalement
Nono
0
cs_keil Messages postés 52 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 25 octobre 2005
17 août 2005 à 10:41
#include <dirent.h>

#include <string.h>



DIR *p,*isDirectory;

p = readdirchéplukoi

isDirectory = readdirchéplukoi(p->name)

if(isDirectory==NULL)

{

strcpy(path,p->name);

if(strstr(path,"."))

unlink(path);

}



l'avantage c ke ca marche aussi bien sur tux ke sur win
0
Rejoignez-nous