coulis
Messages postés121Date d'inscriptionlundi 20 octobre 2003StatutMembreDernière intervention24 juin 2010
-
14 mars 2006 à 13:59
coulis
Messages postés121Date d'inscriptionlundi 20 octobre 2003StatutMembreDernière intervention24 juin 2010
-
15 mars 2006 à 09:55
Bonjour,
J'ai besoin d'analyser l'existance d'un fichier sur un dossier de la manière suivante :
Par exemple, je dois savoir si le nom d'un fichier contient "VO009618
"
le fichier existant à pour nom "VOWPC999_VO009618_16.jpg". Mais au départ je ne connais pas son nom entièrement.
Et si ce fichier existe je dois récupérer son nom entièrement.
Actuellement je parviens à trouver l'existance d'un fichier dont je connais le nom exacte mais pas partiellement!
Voici mon code pour le fichier exacte:
Dim fic As String = Server.MapPath("images/" & "VOWPC999_VO009618_16.jpg")
'Dim fic As String = Server.MapPath("images/" & "*VO009618_*.jpg")
Dim Fi
As FileInfo
'On déclare un FileInfo
Fi =
New FileInfo(fic)
'on instance ce FileInfo avec comme paramètre le nom du fichier
If Fi.Exists
Then
Label1.Text = Fi.Exists.ToString
gyzmo222
Messages postés66Date d'inscriptionlundi 27 juin 2005StatutMembreDernière intervention 2 juin 20061 15 mars 2006 à 09:31
Bon, j'ai pas testé, il doit y avoir des petites erreurs et je ne peux pas te le faire en vb vu que le c# me vient plus facilement à l'esprit, je risque de tout mélanger. Alors voila en c# ce que je ferais à peu près en espérant que ca te donnera des idées:
System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(Server.MapPath("nomdirectory"));
foreach (System.IO.FileInfo fi in di.GetFiles())
{
string recupnom="";
string atrouver="test";
string delimStr = "_";
char[] delimiter = delimStr.ToCharArray();
if (fi.Extension == ".jpg")
{
string[] split = null;
split = Path.GetFileNameWithoutExtension(fi.FullName).Split(delimiter, 5);
for (int i=0;i<5;i++){
if (split[i] != null){
if(atrouver == split[i].ToString())
{
recupnom = Path.GetFileNameWithoutExtension(fi.FullName);
}
}
}
}
Ce code est pensé en sachant que ton nom de fichier comportera ton string recherché entre _ _ si tu dois analyser chaque lettre tu peux faire une boucle sur un "filename.Substring(0, 5)" qui dans cet exemple prendre les lettres de 0 à 5.
J'espère que ca pourra te mettre sur la piste et que il n'y a pas trop de choses qui n'existent pas en vb dans le code ci dessus.