Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1096 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [RESOLU] Petit script VBS

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU] Petit script VBS

n°1333838
mfauxock
Posté le 28-03-2006 à 17:02:07  profilanswer
 

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
mood
Publicité
Posté le 28-03-2006 à 17:02:07  profilanswer
 

n°1333964
olivthill
Posté le 28-03-2006 à 18:49:02  profilanswer
 

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

n°1334813
mfauxock
Posté le 29-03-2006 à 18:34:55  profilanswer
 

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

n°1335541
pilosite
Posté le 30-03-2006 à 14:32:30  profilanswer
 

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/
n°1337590
mfauxock
Posté le 03-04-2006 à 10:17:23  profilanswer
 

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)"

n°1337741
mfauxock
Posté le 03-04-2006 à 14:09:58  profilanswer
 

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

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [RESOLU] Petit script VBS

 

Sujets relatifs
[ RESOLU ] chercher dans une chaine de caractère[VBA][Excel][Resolu]Connaitre le nombre de ligne d'une colonne
[Résolu] lire un morceau de fichier audio avec JMF[resolu] Listbox en paramètre d'une procédure
[Résolu] Ecrire un fichier au format UTF-8[Résolu] [Batch] [Newbies] Diverses questions au sujet du Batch
[VBA] [Résolu] Liste de choix[Résolu] Créer un objet à partir du nom de son type
[résolu] Problème bouton / javascript[résolu] !! interprétation IE / Firefox !!
Plus de sujets relatifs à : [RESOLU] Petit script VBS


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR