Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VB SCRIPT : listes des fichiers d'un dossier / gallerie photo

1 réponse
Avatar
Thomas B.
Bonjour à tous,

Grand débutant en VB script, je souhaite pouvoir, à partir du dossier
d:\test\, lister dans ce dossier (pas de sous répertoire) tous les fichiers
existants et les afficher à la suite dans une page web.

Je tourne pas mal en rond, bref si quelqu'un a une piste à me soumettre...

L'idée à terme est de faire une gallerie d'image (sans thumbnail) classé par
ordre antichronologique de création du document...

Merci de vos précieux conseils !

Thomas B.

1 réponse

Avatar
Jean
Bonjour,

Pour tout les sujets traités dans votre messages vous devriez aussi trouver de nombreux exemples quasi "clef en main" dans le MS
Script Repository VBScript : http://www.microsoft.com/technet/scriptcenter/scripts/default.mspx ... et farfouillez :-)
Cf aussi mon message [INFO-MAJ] Script Center version 3 posté ce jour.

-reste de la réponse "dans le texte"-

Grand débutant en VB script, je souhaite pouvoir, à partir du dossier
d:test, lister dans ce dossier (pas de sous répertoire) tous les fichiers
existants
---


Pour lister les fichiers d'un dossier vous pouvez par exemple utiliser FSO (File System Object) ou encore avec WMI (Windows
Managment Instrumentation) utiliser la classe CIM_LogicalFile ou CIM_DataFile (cf les 2 exemples HTA/VBScript en fin de message).

et les afficher à la suite dans une page web.
---


Vous devriez utiliser un fichier HTA qui vous donnera à la fois l'accès au scripting via la balise SCRIPT et au contenu html pour
l'interfacage.
Ces fichiers ne dépendants pas de la sécurité Internet Explorer (comme c'est le cas pour un document html), vous pourrez utiliser
tout les activex que vous voulez sans avoir de boîte de dialogue avant leurs exécutions.

La référence HTA est ici :
http://msdn.microsoft.com/workshop/author/hta/reference/hta_ref_entry.asp
pour des exemples de base :
http://www.microsoft.com/technet/scriptcenter/scripts/misc/web/default.mspx

L'idée à terme est de faire une gallerie d'image (sans thumbnail)
---


En reprenant les exemples, pour limiter la collection, vous pouvez, si vous utiliser FSO faire un test sur l'extension du fichier
dans la boucle à l'aide de la méthode GetExtensionName de FSO :
http://msdn.microsoft.com/library/en-us/script56/html/jsmthGetExtensionName.asp
Si vous utiliser WMI, vous pouvez précisez dans la requête WQL les extensions recherchées à l'aide de la propriété Extension de la
classe CIM_LogicalFile (ou CIM_DataFile):
http://msdn.microsoft.com/library/en-us/wmisdk/wmi/cim_logicalfile.asp

classé par
ordre antichronologique de création du document...


Pour trier les sorties JScript est plus adapté (via la méthode sort).
En VBScript vous pouvez utiliser la traduction de l'algorithme QuickSort ou utiliser ADO.
Vous trouverez des codes tout cuits sur le site de Clarence Washington (faire une recherche sur "sort" ou "quick sort") :
http://cwashington.netreach.net , ptobablement aussi dans le Script Center.

Les codes des 2 fichiers HTA/VBScript dont je parlais plus haut :

<!---8<---FSO.HTA--->
<script language='vbscript'>
repertoire="t:documents"

For Each F in CreateObject("Scripting.FileSystemObject")_
.GetFolder(repertoire).Files
Document.WriteLn(F.Name&"<br>")
Next
</script>
<!---8<---FSO.HTA--->

<!---8<---WMI.HTA--->
<script language='vbscript'>
repertoire="t:documents"

repertoire=Double_Slash(repertoire)
For Each F in _
GetObject("winmgmts:")_
.ExecQuery(_
"Select * FROM CIM_LogicalFile WHERE "&_
"Drive = '"&Left(repertoire,2)&"' AND "&_
"Path='"&Mid(repertoire,3)&"' AND "&_
"FileType<>'File Folder'"_
)
With F
ext=""
If .Extension<>"" Then ext="."&.Extension
Document.WriteLn .FileName&Ext&"<br>"
End With
Next

Function Double_Slash(quoi)
Double_Slash=Replace(quoi,"","")
End Function
</script>
<!---8<---WMI.HTA--->

Amicalement,

Jean - JMST
Belgium