En fait j'ai cr=E9e une fonction permettant de supprimer=20
des fichiers.
Je voudrais supprimer des fichiers dont je ne connais que=20
le nom
=3D> donc faire un delete sur un fichier monfichier.*
Dans ma fonction, j'ai mis :=20
if(File.Exists(myFile))
File.Delete(myFile);
Et j'ai essay=E9 de donner =E0 myFile la valeur monfichier.*,=20
mais il g=E9n=E8re une exception, et passe dans le catch car=20
il dit que le fichier monfichier.* n'existe pas.
Est-ce que ce que je veux faire est possible ? Comment=20
lui faire interpr=E9ter correctement le symbole * ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pierre Alexis [MVP]
Salut Ced,
Tu as écrit :
En fait j'ai crée une fonction permettant de supprimer des fichiers. Je voudrais supprimer des fichiers dont je ne connais que le nom => donc faire un delete sur un fichier monfichier.*
Dans ma fonction, j'ai mis : if(File.Exists(myFile)) File.Delete(myFile);
Et j'ai essayé de donner à myFile la valeur monfichier.*, mais il génère une exception, et passe dans le catch car il dit que le fichier monfichier.* n'existe pas.
Est-ce que ce que je veux faire est possible ? Comment lui faire interpréter correctement le symbole * ?
Voici en VB ce que cela donnerait :
Dim myDir As New IO.DirectoryInfo("C:Documents and SettingsPierreMes documents") Dim curFileInfo As IO.FileInfo
For Each curFileInfo In myDir.GetFiles("test.*") curFileInfo.Delete() Next
Je pense pas que cela soit très difficile à convertir en C# ;-).
En fait j'ai crée une fonction permettant de supprimer
des fichiers.
Je voudrais supprimer des fichiers dont je ne connais que
le nom
=> donc faire un delete sur un fichier monfichier.*
Dans ma fonction, j'ai mis :
if(File.Exists(myFile))
File.Delete(myFile);
Et j'ai essayé de donner à myFile la valeur monfichier.*,
mais il génère une exception, et passe dans le catch car
il dit que le fichier monfichier.* n'existe pas.
Est-ce que ce que je veux faire est possible ? Comment
lui faire interpréter correctement le symbole * ?
Voici en VB ce que cela donnerait :
Dim myDir As New IO.DirectoryInfo("C:Documents and
SettingsPierreMes documents")
Dim curFileInfo As IO.FileInfo
For Each curFileInfo In myDir.GetFiles("test.*")
curFileInfo.Delete()
Next
Je pense pas que cela soit très difficile à convertir en C# ;-).
En fait j'ai crée une fonction permettant de supprimer des fichiers. Je voudrais supprimer des fichiers dont je ne connais que le nom => donc faire un delete sur un fichier monfichier.*
Dans ma fonction, j'ai mis : if(File.Exists(myFile)) File.Delete(myFile);
Et j'ai essayé de donner à myFile la valeur monfichier.*, mais il génère une exception, et passe dans le catch car il dit que le fichier monfichier.* n'existe pas.
Est-ce que ce que je veux faire est possible ? Comment lui faire interpréter correctement le symbole * ?
Voici en VB ce que cela donnerait :
Dim myDir As New IO.DirectoryInfo("C:Documents and SettingsPierreMes documents") Dim curFileInfo As IO.FileInfo
For Each curFileInfo In myDir.GetFiles("test.*") curFileInfo.Delete() Next
Je pense pas que cela soit très difficile à convertir en C# ;-).
Justement c'est ce que j'ai fait en c#, mais apparemment il n'interprète pas le caractère *, mais fait comme si le nom du fichier était monfichier.* Et c'est là que je ne vois pas pourquoi ça plante en fait. Parce que quand je fais le (file.delete(myfile))
le myfile a pour valeur : c:mesdocs...monfichier.*
Tu vois ce que je veux dire ?
Merci pour ton aide en tout cas.
Ced
-----Message d'origine----- Salut Ced,
Tu as écrit :
En fait j'ai crée une fonction permettant de supprimer des fichiers. Je voudrais supprimer des fichiers dont je ne connais
que
le nom => donc faire un delete sur un fichier monfichier.*
Dans ma fonction, j'ai mis : if(File.Exists(myFile)) File.Delete(myFile);
Et j'ai essayé de donner à myFile la valeur
monfichier.*,
mais il génère une exception, et passe dans le catch
car
il dit que le fichier monfichier.* n'existe pas.
Est-ce que ce que je veux faire est possible ? Comment lui faire interpréter correctement le symbole * ?
Voici en VB ce que cela donnerait :
Dim myDir As New IO.DirectoryInfo("C:Documents
and
SettingsPierreMes documents") Dim curFileInfo As IO.FileInfo
For Each curFileInfo In myDir.GetFiles("test.*") curFileInfo.Delete() Next
Je pense pas que cela soit très difficile à convertir en
Justement c'est ce que j'ai fait en c#, mais apparemment
il n'interprète pas le caractère *, mais fait comme si le
nom du fichier était monfichier.*
Et c'est là que je ne vois pas pourquoi ça plante en fait.
Parce que quand je fais le (file.delete(myfile))
le myfile a pour valeur : c:mesdocs...monfichier.*
Tu vois ce que je veux dire ?
Merci pour ton aide en tout cas.
Ced
-----Message d'origine-----
Salut Ced,
Tu as écrit :
En fait j'ai crée une fonction permettant de supprimer
des fichiers.
Je voudrais supprimer des fichiers dont je ne connais
que
le nom
=> donc faire un delete sur un fichier monfichier.*
Dans ma fonction, j'ai mis :
if(File.Exists(myFile))
File.Delete(myFile);
Et j'ai essayé de donner à myFile la valeur
monfichier.*,
mais il génère une exception, et passe dans le catch
car
il dit que le fichier monfichier.* n'existe pas.
Est-ce que ce que je veux faire est possible ? Comment
lui faire interpréter correctement le symbole * ?
Voici en VB ce que cela donnerait :
Dim myDir As New IO.DirectoryInfo("C:Documents
and
SettingsPierreMes documents")
Dim curFileInfo As IO.FileInfo
For Each curFileInfo In myDir.GetFiles("test.*")
curFileInfo.Delete()
Next
Je pense pas que cela soit très difficile à convertir en
Justement c'est ce que j'ai fait en c#, mais apparemment il n'interprète pas le caractère *, mais fait comme si le nom du fichier était monfichier.* Et c'est là que je ne vois pas pourquoi ça plante en fait. Parce que quand je fais le (file.delete(myfile))
le myfile a pour valeur : c:mesdocs...monfichier.*
Tu vois ce que je veux dire ?
Merci pour ton aide en tout cas.
Ced
-----Message d'origine----- Salut Ced,
Tu as écrit :
En fait j'ai crée une fonction permettant de supprimer des fichiers. Je voudrais supprimer des fichiers dont je ne connais
que
le nom => donc faire un delete sur un fichier monfichier.*
Dans ma fonction, j'ai mis : if(File.Exists(myFile)) File.Delete(myFile);
Et j'ai essayé de donner à myFile la valeur
monfichier.*,
mais il génère une exception, et passe dans le catch
car
il dit que le fichier monfichier.* n'existe pas.
Est-ce que ce que je veux faire est possible ? Comment lui faire interpréter correctement le symbole * ?
Voici en VB ce que cela donnerait :
Dim myDir As New IO.DirectoryInfo("C:Documents
and
SettingsPierreMes documents") Dim curFileInfo As IO.FileInfo
For Each curFileInfo In myDir.GetFiles("test.*") curFileInfo.Delete() Next
Je pense pas que cela soit très difficile à convertir en
System.IO.DirectoryInfo myDir = new System.IO.DirectoryInfo(@"C:Documents and SettingsPierreMes documents"); foreach(System.IO.FileInfo file in myDir.GetFiles("14.*")) { this.textBox1.Text += file.Name + "n"; }
Ce qui me sort : 14.jpg 14.bmp 14.gif et 14.txt
Donc la fonction fonctionne bien !
Bismark
"Ced" a écrit dans le message de news:064901c47ad5$2c22aff0$ Justement c'est ce que j'ai fait en c#, mais apparemment il n'interprète pas le caractère *, mais fait comme si le nom du fichier était monfichier.* Et c'est là que je ne vois pas pourquoi ça plante en fait. Parce que quand je fais le (file.delete(myfile))
le myfile a pour valeur : c:mesdocs...monfichier.*
Tu vois ce que je veux dire ?
Merci pour ton aide en tout cas.
Ced
-----Message d'origine----- Salut Ced,
Tu as écrit :
En fait j'ai crée une fonction permettant de supprimer des fichiers. Je voudrais supprimer des fichiers dont je ne connais
que
le nom => donc faire un delete sur un fichier monfichier.*
Dans ma fonction, j'ai mis : if(File.Exists(myFile)) File.Delete(myFile);
Et j'ai essayé de donner à myFile la valeur
monfichier.*,
mais il génère une exception, et passe dans le catch
car
il dit que le fichier monfichier.* n'existe pas.
Est-ce que ce que je veux faire est possible ? Comment lui faire interpréter correctement le symbole * ?
Voici en VB ce que cela donnerait :
Dim myDir As New IO.DirectoryInfo("C:Documents
and
SettingsPierreMes documents") Dim curFileInfo As IO.FileInfo
For Each curFileInfo In myDir.GetFiles("test.*") curFileInfo.Delete() Next
Je pense pas que cela soit très difficile à convertir en
System.IO.DirectoryInfo myDir = new System.IO.DirectoryInfo(@"C:Documents
and SettingsPierreMes documents");
foreach(System.IO.FileInfo file in myDir.GetFiles("14.*"))
{
this.textBox1.Text += file.Name + "n";
}
Ce qui me sort : 14.jpg 14.bmp 14.gif et 14.txt
Donc la fonction fonctionne bien !
Bismark
"Ced" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:064901c47ad5$2c22aff0$a301280a@phx.gbl...
Justement c'est ce que j'ai fait en c#, mais apparemment
il n'interprète pas le caractère *, mais fait comme si le
nom du fichier était monfichier.*
Et c'est là que je ne vois pas pourquoi ça plante en fait.
Parce que quand je fais le (file.delete(myfile))
le myfile a pour valeur : c:mesdocs...monfichier.*
Tu vois ce que je veux dire ?
Merci pour ton aide en tout cas.
Ced
-----Message d'origine-----
Salut Ced,
Tu as écrit :
En fait j'ai crée une fonction permettant de supprimer
des fichiers.
Je voudrais supprimer des fichiers dont je ne connais
que
le nom
=> donc faire un delete sur un fichier monfichier.*
Dans ma fonction, j'ai mis :
if(File.Exists(myFile))
File.Delete(myFile);
Et j'ai essayé de donner à myFile la valeur
monfichier.*,
mais il génère une exception, et passe dans le catch
car
il dit que le fichier monfichier.* n'existe pas.
Est-ce que ce que je veux faire est possible ? Comment
lui faire interpréter correctement le symbole * ?
Voici en VB ce que cela donnerait :
Dim myDir As New IO.DirectoryInfo("C:Documents
and
SettingsPierreMes documents")
Dim curFileInfo As IO.FileInfo
For Each curFileInfo In myDir.GetFiles("test.*")
curFileInfo.Delete()
Next
Je pense pas que cela soit très difficile à convertir en
System.IO.DirectoryInfo myDir = new System.IO.DirectoryInfo(@"C:Documents and SettingsPierreMes documents"); foreach(System.IO.FileInfo file in myDir.GetFiles("14.*")) { this.textBox1.Text += file.Name + "n"; }
Ce qui me sort : 14.jpg 14.bmp 14.gif et 14.txt
Donc la fonction fonctionne bien !
Bismark
"Ced" a écrit dans le message de news:064901c47ad5$2c22aff0$ Justement c'est ce que j'ai fait en c#, mais apparemment il n'interprète pas le caractère *, mais fait comme si le nom du fichier était monfichier.* Et c'est là que je ne vois pas pourquoi ça plante en fait. Parce que quand je fais le (file.delete(myfile))
le myfile a pour valeur : c:mesdocs...monfichier.*
Tu vois ce que je veux dire ?
Merci pour ton aide en tout cas.
Ced
-----Message d'origine----- Salut Ced,
Tu as écrit :
En fait j'ai crée une fonction permettant de supprimer des fichiers. Je voudrais supprimer des fichiers dont je ne connais
que
le nom => donc faire un delete sur un fichier monfichier.*
Dans ma fonction, j'ai mis : if(File.Exists(myFile)) File.Delete(myFile);
Et j'ai essayé de donner à myFile la valeur
monfichier.*,
mais il génère une exception, et passe dans le catch
car
il dit que le fichier monfichier.* n'existe pas.
Est-ce que ce que je veux faire est possible ? Comment lui faire interpréter correctement le symbole * ?
Voici en VB ce que cela donnerait :
Dim myDir As New IO.DirectoryInfo("C:Documents
and
SettingsPierreMes documents") Dim curFileInfo As IO.FileInfo
For Each curFileInfo In myDir.GetFiles("test.*") curFileInfo.Delete() Next
Je pense pas que cela soit très difficile à convertir en
Justement c'est ce que j'ai fait en c#, mais apparemment il n'interprète pas le caractère *, mais fait comme si le nom du fichier était monfichier.* Et c'est là que je ne vois pas pourquoi ça plante en fait. Parce que quand je fais le (file.delete(myfile))
Pour compléter la réponse de Bismark, Delete("test.*") et tout à fait différent de GetFiles("test.*"). Car GetFiles accepte les masques avec jokers, tandis que Delete demande un fichier bien précis !
Justement c'est ce que j'ai fait en c#, mais apparemment
il n'interprète pas le caractère *, mais fait comme si le
nom du fichier était monfichier.*
Et c'est là que je ne vois pas pourquoi ça plante en fait.
Parce que quand je fais le (file.delete(myfile))
Pour compléter la réponse de Bismark, Delete("test.*") et tout à fait
différent de GetFiles("test.*"). Car GetFiles accepte les masques avec jokers,
tandis que Delete demande un fichier bien précis !
Justement c'est ce que j'ai fait en c#, mais apparemment il n'interprète pas le caractère *, mais fait comme si le nom du fichier était monfichier.* Et c'est là que je ne vois pas pourquoi ça plante en fait. Parce que quand je fais le (file.delete(myfile))
Pour compléter la réponse de Bismark, Delete("test.*") et tout à fait différent de GetFiles("test.*"). Car GetFiles accepte les masques avec jokers, tandis que Delete demande un fichier bien précis !
Tu as raison pour le Getfile, j'ai déjà essayé en mettant un ".*" et ça marche très bien, mais pour le delete, j'ai pas l'impression que ça fonctionne, à moins qu'il existe des astuces.
Ced
-----Message d'origine----- Salut Ced,
Tu as écrit :
Justement c'est ce que j'ai fait en c#, mais
apparemment
il n'interprète pas le caractère *, mais fait comme si
le
nom du fichier était monfichier.* Et c'est là que je ne vois pas pourquoi ça plante en
fait.
Parce que quand je fais le (file.delete(myfile))
Pour compléter la réponse de Bismark, Delete("test.*")
et tout à fait
différent de GetFiles("test.*"). Car GetFiles accepte
les masques avec jokers,
tandis que Delete demande un fichier bien précis !
Tu as raison pour le Getfile, j'ai déjà essayé en mettant
un ".*" et ça marche très bien, mais pour le delete, j'ai
pas l'impression que ça fonctionne, à moins qu'il existe
des astuces.
Ced
-----Message d'origine-----
Salut Ced,
Tu as écrit :
Justement c'est ce que j'ai fait en c#, mais
apparemment
il n'interprète pas le caractère *, mais fait comme si
le
nom du fichier était monfichier.*
Et c'est là que je ne vois pas pourquoi ça plante en
fait.
Parce que quand je fais le (file.delete(myfile))
Pour compléter la réponse de Bismark, Delete("test.*")
et tout à fait
différent de GetFiles("test.*"). Car GetFiles accepte
les masques avec jokers,
tandis que Delete demande un fichier bien précis !
Tu as raison pour le Getfile, j'ai déjà essayé en mettant un ".*" et ça marche très bien, mais pour le delete, j'ai pas l'impression que ça fonctionne, à moins qu'il existe des astuces.
Ced
-----Message d'origine----- Salut Ced,
Tu as écrit :
Justement c'est ce que j'ai fait en c#, mais
apparemment
il n'interprète pas le caractère *, mais fait comme si
le
nom du fichier était monfichier.* Et c'est là que je ne vois pas pourquoi ça plante en
fait.
Parce que quand je fais le (file.delete(myfile))
Pour compléter la réponse de Bismark, Delete("test.*")
et tout à fait
différent de GetFiles("test.*"). Car GetFiles accepte
les masques avec jokers,
tandis que Delete demande un fichier bien précis !
Tu as raison pour le Getfile, j'ai déjà essayé en mettant un ".*" et ça marche très bien, mais pour le delete, j'ai pas l'impression que ça fonctionne, à moins qu'il existe des astuces.
Relis ce que j'ai écris... "tandis que Delete demande un fichier bien précis !"
Et c'est clairement indiqué dans la MSDN :
GetFiles :
Retourne la liste des fichiers du répertoire en cours correspondant au searchPattern spécifié, « *.txt », par exemple.
[C#] public FileInfo[] GetFiles( string searchPattern );
Paramètres searchPattern Chaîne recherchée, « *.txt », par exemple.
Delete :
Supprime le fichier spécifié. Une exception n'est pas levée si le fichier spécifié n'existe pas.
[C#] public static void Delete( string path );
Paramètres path Nom du fichier à supprimer.
Dans l'un on a un "searchPattern", dans l'autre un "path"....
Tu as raison pour le Getfile, j'ai déjà essayé en mettant
un ".*" et ça marche très bien, mais pour le delete, j'ai
pas l'impression que ça fonctionne, à moins qu'il existe
des astuces.
Relis ce que j'ai écris... "tandis que Delete demande un fichier bien précis
!"
Et c'est clairement indiqué dans la MSDN :
GetFiles :
Retourne la liste des fichiers du répertoire en cours correspondant au
searchPattern spécifié, « *.txt », par exemple.
[C#]
public FileInfo[] GetFiles(
string searchPattern
);
Paramètres
searchPattern
Chaîne recherchée, « *.txt », par exemple.
Delete :
Supprime le fichier spécifié. Une exception n'est pas levée si le fichier
spécifié n'existe pas.
[C#]
public static void Delete(
string path
);
Paramètres
path
Nom du fichier à supprimer.
Dans l'un on a un "searchPattern", dans l'autre un "path"....
Tu as raison pour le Getfile, j'ai déjà essayé en mettant un ".*" et ça marche très bien, mais pour le delete, j'ai pas l'impression que ça fonctionne, à moins qu'il existe des astuces.
Relis ce que j'ai écris... "tandis que Delete demande un fichier bien précis !"
Et c'est clairement indiqué dans la MSDN :
GetFiles :
Retourne la liste des fichiers du répertoire en cours correspondant au searchPattern spécifié, « *.txt », par exemple.
[C#] public FileInfo[] GetFiles( string searchPattern );
Paramètres searchPattern Chaîne recherchée, « *.txt », par exemple.
Delete :
Supprime le fichier spécifié. Une exception n'est pas levée si le fichier spécifié n'existe pas.
[C#] public static void Delete( string path );
Paramètres path Nom du fichier à supprimer.
Dans l'un on a un "searchPattern", dans l'autre un "path"....