Couplage de script VBS

smully Messages postés 2 Statut Membre -  
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,

je souhaiterai coupler deux scripts VBS qui fonctionnent bien.

Le but étant de lister les images d'un dossier en affichant la dimension de l'image et son poids (grace à getdetailsof)

voici le premier script :

Dim stRep 'Nom du répertoire à parcourir
Dim oFSO,oFl
Set oFSO = CreateObject("Scripting.FileSystemObject")
stRep = "C:\Tmp"
If oFSO.FolderExists(stRep) Then
For each oFl in oFSO.GetFolder(stRep).Files
Wscript.Echo oFl.Name
Next
End If


et le deuxième

Const DIMENSIONS = 31
CONST WIDTH = 162
CONST HEIGTH = 164

Set oShell = CreateObject ("Shell.Application")
Set oFolder = oShell.Namespace ("d:\")
Set oFile = oFolder.ParseName("clé.bmp")

strDimensions = oFolder.GetDetailsOf(oFile, DIMENSIONS)
strWidth = oFolder.GetDetailsOf(oFile, WIDTH)
strHeigth = oFolder.GetDetailsOf(oFile, HEIGTH)

WScript.Echo "Dimensions: " & strDimensions & vbNewLine & _
"Width: " & strWidth & vbNewLine & _
"Height: " & strHeigth


En poussant le vice un peu plus loin si ça pouvait etre inscrit dans un fichier txt ça serait cool...

En vous remericant d'avance.

4 réponses

  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    Si je comprend bien tu veux avoir les noms et données des fichiers.
    Si oui, Pas besoin de ta deuxième fonction, l'objet Fso fais cela très bien, même plus.
    A+
    Edit: Pas bien lu, tu veux les dimensions d'un bmp et effectivement Fso ne fait pas ça.
    Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
    NOTE : Je ne répond pas aux MP pour les questions techniques.
    0
  2. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    En extrapolant un peu
    Const DIMENSIONS = 31
    Const WIDTH = 162
    Const HEIGTH = 164
    Dim stRep 'Nom du répertoire à parcourir
    Dim oFSO, oFl
        Set oShell = CreateObject("Shell.Application")
        Set oFSO = CreateObject("Scripting.FileSystemObject")
        stRep = "C:\Tmp"
        If oFSO.FolderExists(stRep) Then
            Set oFolder = oShell.Namespace(stRep)
            For Each oFl In oFSO.GetFolder(stRep).Files
                Set oFile = oFolder.ParseName(oFl.Name)
                strDimensions = oFolder.GetDetailsOf(oFile, DIMENSIONS)
                strWidth = oFolder.GetDetailsOf(oFile, WIDTH)
                strHeigth = oFolder.GetDetailsOf(oFile, HEIGTH)
                WScript.Echo oFl.Name & "Dimensions: " & strDimensions & vbNewLine & _
                "Width: " & strWidth & vbNewLine & _
                "Height: " & strHeigth
            Next
        End If

    A+
    0
  3. smully Messages postés 2 Statut Membre
     
    ok merci cool ça fonctionne par contre ça n'écrit pas dans un fichier....

    ;...je suis chiant

    :-)
    0
  4. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Oui :-)
    Je ne connais pas bien le VBScript, je serais plutôt pour les autres VB
    Cherche du côté de Open pour ouvrir un fichier du genre..
    Open "Fichier.txt" for output as #1
    Pour écrite voir Write du genre
    Write #1, oFl.Name , "Dimensions: " , strDimensions, _
    "Width: " , strWidth & vbNewLine, _
    "Height: ", strHeigth

    Et quand fini : Close #1
    Vois ce que tu peu faire avec ça.
    A+
    0