Bonjour
Je joins de nouveau la source avec un peu de commentaires dans le script et il fonctionne pour une recherche de fichiers dans un répertoire puis de fichiers dans un de ses sous répertoires en excluant les extensions GIF JPG JS (il est trés spécifique puisque concernant un développement particulier)
il y a à côté du bouton lancer le chemin du répertoire de référence (attention il n'accepte pas le espace du genre ;
C:/DOSSIER TRUC/ il faut : C:/DOSSIER_TRUC/
<html><head><title>fichtmtransf2</title>
<SCRIPT language=JavaScript1.2>
function changeto(highlightcolor){
////////////////////////////////////////////CLIGNOTEMENT DES LIGNE TABLE RESULTATS//////////////////////////////////////////////////////////////
source=event.srcElement
if (source.tagName=="TR"||source.tagName=="TABLE")
return
while(source.tagName!="TD")
source=source.parentElement
if (source.style.backgroundColor!=highlightcolor&&source.id!="ignore")
source.style.backgroundColor=highlightcolor
}
function changeback(originalcolor){
if (event.fromElement.contains(event.toElement)||source.contains(event.toElement)||source.id=="ignore")
return
if (event.toElement!=source)
source.style.backgroundColor=originalcolor
}
</SCRIPT>
<script>
function recupfic(url){
///////////RECUPERATION A PARTIR D UN REPERTOIRE SES DOCUMENTS PLUS SES REPERTOIRES ET LEUR DOCUMENT SANS LES EXT / JPG JS GIF ////////////////
document.getElementById('retour2').innerHTML = "";
if(document.getElementById('S').value==""){
alert('inscrire un mot à rechercher');}else{
var i=0;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFolder(url);
var f1 = new Enumerator(f.SubFolders);
for (; !f1.atEnd(); f1.moveNext()){
a = f1.item().Name;
document.getElementById('adresse').innerHTML += "<input type=text id=y"+i+" value="+a+" onClick='alert(this.id);' style=width:200px;visibility:visible><br>";
recupfic(f1.item());
document.getElementById('adresse').innerHTML = "<input type=text id=y"+i+" value="+document.getElementById('ref').value+" onClick='alert(this.id);' style=width:200px;visibility:visible><br>";
}
c = fso.GetFolder(url);
var c1 = new Enumerator(c.files);
for (; !c1.atEnd(); c1.moveNext()){
a = c1.item().Name;
document.getElementById('adresse').innerHTML += "<input type=text id=y"+i+" value="+a+" onClick='alert(this.id);' style=width:200px;visibility:visible><br>";
}
///////// PARTIE CONCERNANT LES ECLUSIONS PAR EXTENSION DE FICHIERS ///////////////////////////////////////////////////////////////////////////////////
var l = 1;var k = 1;
for ( var i=0;i<frm.y0.length;i++ )
{
var conteneur = frm.y0[i].value;
var resultat = conteneur.search(/htm/);
var dedans = frm.y0[i].value;
if(resultat != -1){
document.getElementById('retour2').innerHTML += "<input type=text id=lien"+l+++" onClick='alert(this.id);' style=width:200px;visibility:visible value ="+document.getElementById('chemin2').value+""+dedans+">"+"<br>";alert('retour2');
document.getElementById('com1').value=l;
var comptcom1 = document.getElementById('com1').value;
}
else{
var chem = frm.y0[i].value+"/";alert('chemin');
var conteneur12 = frm.y0[i].value;
var resultat12 = conteneur12.search(/jpg|gif|js/);alert('finrechgif');
if(resultat12 != -1){
document.getElementById('chemin2').value +="";alert('gifetc');}else{document.getElementById('chemin2').value = chem.replace(/\/\//g,"/");}
}
}}
var com1 = document.getElementById('com1').value ;var y = 1;var z = 1;var l = 1;
while (document.getElementById("lien"+z)!=null)
{
var conteneur2 = document.getElementById("lien"+z).value;
var resultat3 = conteneur2.search(/gif/);
var trier2 = document.getElementById("lien"+z).value;
if(resultat3 != -1){document.getElementById('retour4').value = "";
}
else{document.getElementById('retour4').innerHTML = "retour4<br>"+"<input type=text id=liendefb onClick='alert(this.id);' style=width:200px;visibility:visible value="+trier2+">"+"<br>";
}
z++;
var y = 1;var q = 1;var f = 1;var r = 1;var k = 1;var s = 1;
var conteneur3 = document.getElementById("liendefb").value;
var resultat3 = conteneur3.search(/jpg/);
var trier3 = document.getElementById("liendefb").value;
if(resultat3 != -1){document.getElementById('retour4').value = "";
}
else{
if(document.getElementById('ref').value == document.getElementById('chemin2').value){
document.getElementById('retour5').innerHTML = "<input type=text id=adrref style=width:200px;visibility:visible value="+trier3+">"+"<br>";
}
else{
document.getElementById('retour5').innerHTML = "<input type=text id=adrref style=width:200px;visibility:visible value="+document.getElementById('ref').value+""+trier3+">"+"<br>";}
}
document.getElementById('fic2').value = document.getElementById('adrref').value;
{
////////////////PARTIE CPOUR LA REQUETE DE RECUPERATION DES FICHIRES/////////////////////////////////////////////////////////////////////////////
var xhr_object = null;
if(window.XMLHttpRequest) // Firefox
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
try {
xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
}
function onreadystatechangeFunction(){
if (xhr_object.readyState == 4 && xhr_object.status == 200){
reponse=xhr_object.responseText;
}
}//function onReaydy
xhr_object.onreadystatechange = onreadystatechangeFunction;
xhr_object.open('GET', document.getElementById('fic2').value, true);
xhr_object.send(null);
if ( xhr_object.readyState == 4 ) {
document.getElementById('propre').value = xhr_object.responseText;}
if(z==comptcom1){document.getElementById('retour2').innerHTML ="";}
if (document.getElementById('S').value == "")
return false;}
document.getElementById("E").value = "";
////////////////PARTIE POUR LA RECHERCHE DES MOTS CLES DANS CHAQUE FICHIER RECUPERE ///////////////////////////////////////////////////////////////
{
if(document.getElementById('S').value==""){
alert('inscrire un mot à rechercher');}else{
var text = document.getElementById('propre').value;
var motdeb = document.getElementById('S').value;
var chaine = motdeb.split(" ");
var formcontent=document.getElementById('S').value;
formcontent=formcontent.split(" ");
document.getElementById('NbMots').value=formcontent.length;
for (var j=0; j<chaine.length; j++) {
document.getElementById('eclat').value = chaine[j];
var resultat = text.search(chaine[j]);
if(resultat != -1)
{
document.getElementById('compte2').value = eval(document.getElementById('compte2').value)+1;
document.getElementById('compte1').value++;}
if(document.getElementById('S').value=="")
{document.getElementById('NbMots').value=="";}
if((document.getElementById('compte1').value == document.getElementById('compte2').value)&(document.getElementById('compte2').value == document.getElementById('NbMots').value))
{document.getElementById('E').value = "true";
document.getElementById('compte1').value =0;
document.getElementById('compte2').value=0;
document.getElementById('eclat').value="";
document.getElementById('NbMots').value="";
}
}
}
//////////////PARTIE CONCERNANT LE STOCKAGE EN COOKIES ET RECUP DU COOKIE//////////////////////////////////////////////////////////////////////////
if(document.getElementById("E").value == "true")
{document.getElementById('texte2').value += document.getElementById('adrref').value +"|";
var nom=document.form1.NOM1.value;
var valeur=document.form1.texte2.value;
if (nom!="")
{
if (valeur!="")
{
EcritCookie(nom,valeur,date_exp);document.getElementById('retour4').innerHTML =""; document.getElementById('retour5').innerHTML ="";
}}
else{alert('rien');}
var nom=document.form1.NOM1.value;
if (nom!="")
{
var valeur=LitCookie(nom);
if (valeur!=null)
{document.form1.result.value= valeur;
}
else document.getElementById('acces').innerHTML="il n'y a aucun résultat pour cette recherche";
}
else alert("Il n'y a pas de nom !");
}
}
}
}
</script>
<script language="Javascript">
<!--
////////////////////////////////////////////COOKIE//////////////////////////////////////////////////////////////////////////////////////////////
/* Contenu d'un cookie :
nom=valeur[;expires=DATE_EXPIRATION;path=CHEMIN;domain=DOMAINE;SECURE]
(entre crochets : les parties facultatives)*/
/* LitCookie retourne la valeur du cookie qui suit "nom="
- nom est l'objet String qui contient le nom du cookie
- la fonction retourne un objet String contenant la valeur du cookie
- ou null si le cookie n'existe pas */
function LitCookie(nom)
{
var mon_cookie = document.cookie;
var debut = mon_cookie.indexOf(nom+"=");
var taille = debut + nom.length + 1;
if ((!debut) && (nom != mon_cookie.substring(0,nom.length))) return null;
if (debut == -1) return null;
var fin = mon_cookie.indexOf(";",taille);
if (fin == -1) fin = mon_cookie.length;
return unescape(mon_cookie.substring(taille, fin));
}
/* CreeCookie crée un cookie.
- nom : objet String contenant le nom du cokkie
- valeur : objet String contenant la valeur du cokkie
- [expire] : objet Date contenant la date d'exdpiration du cookie. S'il est absent ou égal à null, le cookie expire à la fin de la session courante
- [chemin] : objet String indiquant le chemin pour lequel le cookie est valide.S'il est absent ou égal à null, il utilise le chemin du document appelant.
- [domaine] : objet String indiquant le domaine pour lequel le cookie est valide.S'il est absent ou égal à null, il utilise le domaine du document appelant.
- [secure] : Valeur booléenne indiquant si la transmission du cookie nécessite un canal sécurisé.
Les deux premiers arguments sont obligatoires. Les autres doivent être mensionnés dans l'ordre. Pour en omettre un on utilise null à sa place, par exemple :
EcritCookie("mon cookie","ma valeur",null,"/"); */
function EcritCookie(nom, valeur, expire, chemin, domaine, secure)
{
document.cookie = nom + "=" + escape(valeur) +
( (expire) ? ";expires=" + expire.toGMTString() : "") +
( (chemin) ? ";path=" + chemin : "") +
( (domaine) ? ";domain=" + domaine : "") +
( (secure) ? ";secure" : "");
}
// Détruit un cookie en l'antidatant au 1er janvier 1970
// Les arguments "chemin" et "domaine" sont facultatifs
function DetruitCookie(nom, chemin, domaine)
{
if (LitCookie(nom)) //si le cookie existe (LitCookie=null sinon)
{
document.cookie = nom + "=" +( (chemin) ? ";path=" + chemin : "") +( (domaine) ?";domain=" + domaine : "") + ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}
}
//-->
</script>
<script language="Javascript">
<!--
// Définition de la date d'expiration et du domaine
var monChemin=location.pathname;
var monDomaine=monChemin.substring(0,monChemin.lastIndexOf('/')) +'/';
var date_exp = new Date (); //aujourd'hui
FixeDateCookie (date_exp); //correction pour le Mac
date_exp.setTime (date_exp.getTime() + (24 * 60 * 60 * 1000)); // expire dans 24H
/* Fonction pour corriger un bug de date du Mac.
Appeler cette fonction pour fixer un objet Date avant de le passer dans
EcritCookie.
IMPORTANT: Cette fonction ne doit être appelée qu'une fois pour chaque objet Date ! */
function FixeDateCookie (date) {
var base = new Date(0);
var ecart = base.getTime(); // début du temps Unix - devrait valoir 0
if (ecart > 0) // sauf sur le Mac qui a une base de temps antèrieure
date.setTime (date.getTime() - ecart);
}
//-->
</script>
<script language="Javascript">
function ret(){
/////////////NETTOYAGE DU NOM DES FICHIERS RESULTAT AVANT PRESENTATION DANS TABLE ///////////////////////////////////////////////////////////
var test = document.getElementById("result").value;
x = test.replace(/\\/g,"/");
a= x.replace(/\s/gi," ");
var b = a.split("|");
var reg = new RegExp("^.*/(.*?)\\.[^.]+$", "i");
for (var i=0; i<b.length; i++) {
document.getElementById('acces').innerHTML += "<table><tr onmouseover='changeto(\"#FFFFCC\")' onmouseout='changeback(\"#ffcc99\")' bgColor=#ffcc99><td width=180px align=center><a href=\""+b[i]+"\">"+b[i].replace(reg, "$1")+"</a></td></tr></table>";
}}
</script>
<script language="Javascript">
function efface(){
/////////////////////////NETTOYAGE DES INPUTS COMPTEURS ET DIV AVANT NOUVELLE RECHERCHE//////////////////////////////////////////////////////
var nom=document.form1.NOM1.value;
document.getElementById('acces').innerHTML='';
document.getElementById('result').value='';
document.getElementById('sale').value='';
document.getElementById('propre').value='';
document.getElementById('texte2').value='';
document.getElementById('fic2').value='';
document.getElementById('compteur1').value=1;
document.getElementById('compte1').value='0';
document.getElementById('compte2').value='0';
document.getElementById('eclat').value='';
document.getElementById('NbMots').value='0';
document.getElementById('com1').value='1';
if (nom!="")
{
DetruitCookie(nom);history.go(0);
}
else alert("Il n'y a pas de nom d'indiqué !");
}
</script>
<script>
function cumulM(){
{document.getElementById('S').value = document.getElementById('DEBS2').value.toLowerCase();}}
</script>
<script>
function fin(){
///////////////////////////////////////////////NETTOYAGE DUE LA TABLE////////////////////////////////////////////////////////////////////////
if(document.getElementById("result").value ==""){document.getElementById('acces').innerHTML='AUCUN RESULTAT';}}
</script>
<SCRIPT type=Text/JavaScript>function changer(MOT){
//////////////TRANSPOSITION DES MOTS CLES EN CODAGE HTML///////////////////////////////////////////////////////////////////////////////////////
document.getElementById('DEBS2').value = (document.getElementById('DEBS').value).replace(/é/g,"é").replace(/è/g,"è").replace(/ê/g,"ê").replace(/ë/g,"ë").replace(/à/g,"à").replace(/â/g,"â").replace(/ä/g,"ä").replace(/î/g,"î").replace(/^ï/g,"ï").replace(/ç/g,"ç").replace(/ô/g,"ô").replace(/ô/g,"û").replace(/ù/g,"ù").replace(/ë/g,"ë") ;}</SCRIPT>
</head><body onLoad="ret();" style="FILTER:progid:DXImageTransform.Microsoft.GRADIENT(startColorstr=#99ccff ,endColorstr=#555555 ,gradientType=0)" bgColor=#ffffff>
<font size=4 color=navy><b>
<FORM METHOD=POST NAME="form1">
Mots à chercher : <INPUT TYPE="text" id=DEBS value="" onClick="efface();" onKeyUp="changer(document.getElementById('DEBS').value);cumulM();">
<center><table border=0 bgcolor=pink style=width:300px><tr><td align=center><font size=4 color=navy><b>résultat(s) ci-dessous)</b></font></td><tr>
<td><div id="acces" name="acces" align=center style=background:yellow;width:300px></div></td></tr></table></center>
<INPUT TYPE="text" id=DEBS2 value=""><INPUT TYPE="text" id=S value=""><INPUT TYPE="text" id=E>
<input type=text value="" id=cumul><input type=text value="" id=coock NAME="texte2">
<INPUT TYPE="text" id=fic2>
<INPUT TYPE="text" id="NOM1" VALUE="yoyo">
<textarea id=result ></textarea>
<textarea id="sale" name="sale" cols="30" rows="5" style=visibility:visible></textarea>
<textarea id="propre" name="propre" cols="30" rows="5" style=visibility:visible></textarea>
<script>
function retirer(sale){
document.getElementById("propre").innerHTML = sale.replace(/<head>.*.*<\/head>/,"");}</script>
</FORM>
<input type=text value='0' id=com1 style=width:50px;visibility:visible><input type=text value='1' id=com2 style=width:50px;visibility:visible>
<br><input type=text value='' id=eclat>
<br><input type=text value='0' id=compte1>
<input type=text value='0' id=compte2>
<input type=text id=NbMots>
<input type=text id=fi>
<form name=frm>
<input type=button value=Lancer onClick="recupfic(document.getElementById('ref').value);ret();fin();">
ref<input type=text id=ref
value="C:/nouveau/"style=width:650px>chemin2<input type=text id=chemin2 value=""style=width:250px;visibility:visible>
<table><tr><td><div id=adresse>adresse<br></div></td><td>
<div id=retour2>retour2<br></div></td>
<td><div id=retour4>retour4<br></div></td>
<td><div id=retour5>retour5<br></div></td>
<td><div id=retour6>retour6</div></td>
<td><div id=retour7>retour7</div></td>
<td><div id=adresse2>adresse2</div></td></tr></table>
<input type=text value='1' id=compteur1 style=display:none>
</form>
</body></html>
[:D][:)]