[RESOLU] Petit script VBS

Petit script VBS [RESOLU] - VB/VBA/VBS - Programmation

Marsh Posté le 28-03-2006 à 17:02:07    

Bonjour,
 
Est ce que quelqu'un peut me dire :
-comment compter le nombre de fichier dans un répertoire ?
-comment écrire dans un array la liste des fichier de ce même répertoire ?  
 
Le tout en VBS
 
J'ai posé la même question pour les amateurs de javascript
 
Merci


Message édité par mfauxock le 03-04-2006 à 14:11:18
Reply

Marsh Posté le 28-03-2006 à 17:02:07   

Reply

Marsh Posté le 28-03-2006 à 18:49:02    

Voili :

' Compte les fichiers d'un répertoire
' et les met dans un tableau
 
Dim ArrayFichier()
Dim nb_fichiers
Set fso = CreateObject("Scripting.FileSystemObject" )
Set f = fso.GetFolder("app1" )
Set fc = f.Files
nb_fichiers = 0
For Each f1 in fc
   nb_fichiers = nb_fichiers + 1
   ReDim Preserve ArrayFichier(nb_fichiers)
   ArrayFichier(nb_fichiers) = f1.name
Next
 
' Affichage
wscript.echo nb_fichiers
For i = 1 to nb_fichiers
   wscript.echo ArrayFichier(i)
Next

Reply

Marsh Posté le 29-03-2006 à 18:34:55    

super merci beaucoup
 
et si maintenant je souhaite intégrer ce code dans une page une page html et afficher une photo qui est dans la liste ArrayFichier comment dois je faire.
J'ai essayé d'intégrer le code dans une page html  entre les balises
<script language="vbscript">
le code
</script>
 
J'ai pris soin de remplacer app1 par un chemin sur mon disque.
Apparement IE voit bien un code mais n'affiche pas les données tel que je peux les avoir avec un fichier vbs indépendant. Je ne comprends pas pourquoi.
 
Merci

Reply

Marsh Posté le 30-03-2006 à 14:32:30    

mfauxock a écrit :

super merci beaucoup
 
et si maintenant je souhaite intégrer ce code dans une page une page html et afficher une photo qui est dans la liste ArrayFichier comment dois je faire.
J'ai essayé d'intégrer le code dans une page html  entre les balises
<script language="vbscript">
le code
</script>
 
J'ai pris soin de remplacer app1 par un chemin sur mon disque.
Apparement IE voit bien un code mais n'affiche pas les données tel que je peux les avoir avec un fichier vbs indépendant. Je ne comprends pas pourquoi.
 
Merci


 
fais plutôt du HTA, tu n'auras pas d'accès aux fichiers locaux avec l'interpreteur HTML de IE, question de sécu.


---------------
Envie de scripting ? Lisez donc "Scripting Windows" aux Editions Eyrolles ! tout pour apprendre le scripting orienté infrastructure Microsoft, en français dans les textes et exemples.  http://www.eyrolles.com/Informatiq [...] 212116922/
Reply

Marsh Posté le 03-04-2006 à 10:17:23    

ok en effet cela me pose un problème. Je voudrais le contourner en créant des fichiers de variables
 
comment puis je écrire la réponse donnée par wscript.echo ArrayFichier(i) pour avoir un fichier qui ressemble à :
 
reponse[0] ="la valeur de wscript.echo ArrayFichier(0)"
reponse[1] ="la valeur de wscript.echo ArrayFichier(1)"
reponse[2] ="la valeur de wscript.echo ArrayFichier(2)"

Reply

Marsh Posté le 03-04-2006 à 14:09:58    

j'ai trouvé
 

Dim Rep
Dim Repjs
Rep="C:\Documents and Settings\user\Bureau\MonDiapo\img"
Repjs="C:\\Documents and Settings\\user\\Bureau\\MonDiapo\\img\\"
Dim ArrayFichier()
Dim nb_fichiers
 
Set fso = CreateObject("Scripting.FileSystemObject" )
Set f = fso.GetFolder(Rep)
Set MonFic = fso.CreateTextFile(Rep & "\liste.js" )
Set fc = f.Files
nb_fichiers = 0
 
MonFic.writeLine "var jsdiapo_images = new Array"
 
For Each f1 in fc
    If UCase(Right(f1.name, 3)) = "JPG" or UCase(Right(f1.name, 3)) = "BMP" or UCase(Right(f1.name, 3)) = "jpg" or UCase(Right(f1.name, 3)) = "bmp" or UCase(Right(f1.name, 3)) = "GIF" or UCase(Right(f1.name, 3)) = "gif" or UCase(Right(f1.name, 3)) = "jpg" or UCase(Right(f1.name, 3)) = "bmp" Then
       MonFic.writeLine "jsdiapo_images[" & nb_fichiers & "]=unescape(" & """" & Repjs & f1.name & """" & " )"
       nb_fichiers=nb_fichiers+1
    End if
Next
 
Msgbox "Écriture de la liste des images du répertoire " & Rep & " terminée"


Message édité par mfauxock le 03-04-2006 à 14:10:38
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed