Extraire l’extension

francoisch Messages postés 258 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 16 février 2015 - 16 janv. 2011 à 12:17
francoisch Messages postés 258 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 16 février 2015 - 23 janv. 2011 à 18:18
Bonjour

Je lis les fichiers présents dans un répertoire avec :
f = fso.GetFolder(repertoire);
var f1 = new Enumerator(f.files);

Je cherche à extraire l’extension de chaque fichier avec :
longueur = f1.item().length;
posExtension = longueur - 3;
var extension = f1.item().substring(posExtension,3);
var extension = extension.toLowerCase(); 

mais ça ne fonctionne pas.

Pour commencer, j’ai : longueur: undefined

Merci par avance de votre aide.

Francois

8 réponses

BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
17 janv. 2011 à 06:26
Hello,

tu déclares longueur avec "var" en amont dans ton code ?

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
0
francoisch Messages postés 258 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 16 février 2015
17 janv. 2011 à 09:22
bonjour et merci de ta réponse.

Voila mon code modifié:
var longueur = f1.item().length;
var posExtension = longueur - 3;
var extension = f1.item().substring(posExtension,3);
var extension = extension.toLowerCase();

Mais j'ai tjs ce message:
longueur: undefined
posExtension: NaN

Je forge, je forge, merci de ton aide.

Francois
0
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
19 janv. 2011 à 17:32
Hello,

le fait que les parenthèses après le "item" ne contiennent rien est peut-être une piste. Essaie sans les parenthèses ou en mettant un paramètre dans les parenthèses.

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
0
francoisch Messages postés 258 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 16 février 2015
20 janv. 2011 à 22:28
Non f1.item() contient bien un nom de fichier avec son chemin, un nom différent à chaque itération.

Francois
0

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

Posez votre question
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
21 janv. 2011 à 06:59
Hello,

je ne suis pas très doué en javascript car à vrai dire je ne l'utilise quasiment jamais. Ceci étant je ne sais pas s'il faut utiliser le typage fort pour la déclaration des variables, comme par exemple en actionscript :
var longueur:Number = machaine.length;

Donc peut-être qu'il faut essayer de déclarer tes variables "longueur" et "posExtension" avec un typage fort (néanmoins il me semble que le typage fort n'est pas nécessaire en javascript... A vérifier tout de même), où peut-être tout simplement qu'il y a une erreur dans le chemin indiqué -> "undefined", soit ça ne trouve pas le chemin et donc "f1.item().length" ne peut pas te retourner un nombre, soit la déclaration de ta variable "longueur" est à revoir. Je ne vois que ces deux hypothèses pour le moment .

A plus ,

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
0
francoisch Messages postés 258 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 16 février 2015
22 janv. 2011 à 16:53
En posant ma question de manière plus ciblée, j’ai une chaine comme celle-ci :
F:\isipc\commun\photoC\commun 1.JPG


Je cherche à extraire l’extension de chaque fichier avec :
var longueur = fichier.length;
var posExtension = longueur - 3;
var extension = fichier.substring(posExtension,3);
var extension = extension.toLowerCase(); 

mais ça ne fonctionne pas.

Pour commencer, j’ai :
longueur: undefined
posExtension: NaN


Merci par avance de votre aide.

Francois
0
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
23 janv. 2011 à 16:12
Hello,

essaie peut-être ceci :
var extension = fichier.substr(-3);


BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
0
francoisch Messages postés 258 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 16 février 2015
23 janv. 2011 à 18:18
J'ai eu une réponse par ailleurs qui donne:
var sFile = "F:\isipc\commun\photoC\commun 1.JPG";
alert(sFile.match(/\.([^.]+)$/)[0])

Je dois encore la tester.

Francois
0
Rejoignez-nous