Je m'amuse (enfin là ça ne m'amuse plus du tout..;) à écrire une série
de 3 scripts destinés à transformer un dossier de photos en gallerie.
Le premier script agit sur ImageMagick (soft en ligne de commande)
pour redimensionner les JPG d'origines en taille intermédiaire et en
thumbails, le deuxième crée l'index.html et le troisième les pages
html correspondant aux photos réduites à la taille intermédiaire.
------------------ Premier script:
'-------------------------------------------------------------------------------------------
Set oShell = WScript.CreateObject ("WSCript.shell")
set img = CreateObject("ImageMagickObject.MagickImage.1")
set fso = CreateObject("Scripting.FileSystemObject")
'---------- D'abord une boucle pour connaître le nbre de JPG
Set oFolder=fso.GetFolder("./.")
WScript.Echo oFolder
nbA=0 'compteur des JPG de base
For Each fileA In oFolder.files
If Not fso.GetExtensionName(fileA)="vbs" Then
WScript.Echo fileA.Name& " est JPG"
nbA=nbA+1
End If
Next
WScript.Echo "nbA=",nbA 'nombre de JPG
convertion
Sub convertion
set files = fso.GetFolder(".").Files
nbB=0 'compteur des JPG traités
for each file in files
WScript.Echo "nbB=",nbB
WScript.Echo "file=",file
If nbB=nbA Then ' si on a atteint le nombre des JPG de base > fin
WScript.Echo"++ nbB=nbA > lance script de gallerie et stop"
If Not fso.GetExtensionName(file)="vbs" Then 'ne pas prendre en
compte le script
'convertion des images:
nbB=nbB+1
img.Convert file.name, "-resize", "639x479", "inter_" & file.name
fso.MoveFile "inter_" & file.name ,"../inter\"
img.Convert file.name, "-resize", "200x149", "thm_" & file.name
fso.MoveFile "thm_" & file.name ,"../thmb\"
End If
Next
End Sub
-------------------------------------------
J'ai des problème au niveau du lancement du deuxième script par le
premier. Ca marche très bien quand je l'exécute dans mon éditeur
(Primalscript), mais quand je le lance directement il bloque à
oShell.Run "../scripts/gallerieD-02.1.vbs",1,TRUE
sans message d'erreur.
Ca marche si je change l'hôte CSCRIPT pour WSCRIPT mais alors il y a
trop de boites de messages dans les scripts d'écriture html.
Merci d'avance pour votre aide éventuelle - Moi j'abandonne :)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacques Barathon [MS]
As-tu essayé d'écrire le chemin avec des "" plutôt que des "/"?
Sinon, je sais que ça ne résoudra pas ton problème de vbs, mais en voyant ton besoin je me suis amusé (enfin, jusqu'à présent ça m'amuse :-)) à écrire qq chose du même genre en PowerShell:
--- couper ici --- # new-album.ps1 # # Crèe un album d'images # # Usage: new-album -source répertoire -dest répertoire [-filtre *.jpg,*.bmp,...] [-largeur x] [-hauteur y] # # -source est le répertoire où les images doivent être présentes # -dest est le répertoire où seront créés l'album et les miniatures # -filtre précise quels fichiers doivent être inclus (*.jpg par défaut) # -largeur est la largeur des miniatures en pixels (200 par défaut) # -hauteur est la hauteur des miniatures en pixels (149 par défaut) # # L'album est constitué d'un fichier album.htm qui affiche toutes les miniatures # et les lie à leur image d'origine. #
Les explications sont fournies en tête du script. Je n'ai fait que des tests basiques, et j'ai un souci avec l'affichage des miniatures (elles sont visibles dans l'Explorateur mais pas dans la page album.htm) mais c'est déjà une bonne base que je voulais partager au cas où. Je regarderai le problème d'affichage plus tard ce soir.
Jacques
"tibule" a écrit dans le message de news:
Bonjour à tous.
Je m'amuse (enfin là ça ne m'amuse plus du tout..;) à écrire une série de 3 scripts destinés à transformer un dossier de photos en gallerie. Le premier script agit sur ImageMagick (soft en ligne de commande) pour redimensionner les JPG d'origines en taille intermédiaire et en thumbails, le deuxième crée l'index.html et le troisième les pages html correspondant aux photos réduites à la taille intermédiaire.
------------------ Premier script:
'------------------------------------------------------------------------------------------- Set oShell = WScript.CreateObject ("WSCript.shell")
set img = CreateObject("ImageMagickObject.MagickImage.1") set fso = CreateObject("Scripting.FileSystemObject") '---------- D'abord une boucle pour connaître le nbre de JPG Set oFolder=fso.GetFolder("./.") WScript.Echo oFolder nbA=0 'compteur des JPG de base For Each fileA In oFolder.files If Not fso.GetExtensionName(fileA)="vbs" Then WScript.Echo fileA.Name& " est JPG" nbA=nbA+1 End If Next WScript.Echo "nbA=",nbA 'nombre de JPG convertion
Sub convertion set files = fso.GetFolder(".").Files nbB=0 'compteur des JPG traités
for each file in files WScript.Echo "nbB=",nbB WScript.Echo "file=",file If nbB=nbA Then ' si on a atteint le nombre des JPG de base > fin WScript.Echo"++ nbB=nbA > lance script de gallerie et stop"
If Not fso.GetExtensionName(file)="vbs" Then 'ne pas prendre en compte le script 'convertion des images: nbB=nbB+1 img.Convert file.name, "-resize", "639x479", "inter_" & file.name fso.MoveFile "inter_" & file.name ,"../inter" img.Convert file.name, "-resize", "200x149", "thm_" & file.name fso.MoveFile "thm_" & file.name ,"../thmb" End If Next End Sub -------------------------------------------
J'ai des problème au niveau du lancement du deuxième script par le premier. Ca marche très bien quand je l'exécute dans mon éditeur (Primalscript), mais quand je le lance directement il bloque à
oShell.Run "../scripts/gallerieD-02.1.vbs",1,TRUE
sans message d'erreur.
Ca marche si je change l'hôte CSCRIPT pour WSCRIPT mais alors il y a trop de boites de messages dans les scripts d'écriture html.
Merci d'avance pour votre aide éventuelle - Moi j'abandonne :)
Christophe
As-tu essayé d'écrire le chemin avec des "" plutôt que des "/"?
Sinon, je sais que ça ne résoudra pas ton problème de vbs, mais en voyant
ton besoin je me suis amusé (enfin, jusqu'à présent ça m'amuse :-)) à écrire
qq chose du même genre en PowerShell:
--- couper ici ---
# new-album.ps1
#
# Crèe un album d'images
#
# Usage: new-album -source répertoire -dest répertoire [-filtre
*.jpg,*.bmp,...] [-largeur x] [-hauteur y]
#
# -source est le répertoire où les images doivent être présentes
# -dest est le répertoire où seront créés l'album et les miniatures
# -filtre précise quels fichiers doivent être inclus (*.jpg par défaut)
# -largeur est la largeur des miniatures en pixels (200 par défaut)
# -hauteur est la hauteur des miniatures en pixels (149 par défaut)
#
# L'album est constitué d'un fichier album.htm qui affiche toutes les
miniatures
# et les lie à leur image d'origine.
#
Les explications sont fournies en tête du script. Je n'ai fait que des tests
basiques, et j'ai un souci avec l'affichage des miniatures (elles sont
visibles dans l'Explorateur mais pas dans la page album.htm) mais c'est déjà
une bonne base que je voulais partager au cas où. Je regarderai le problème
d'affichage plus tard ce soir.
Jacques
"tibule" <kubh@NoFree.fr> a écrit dans le message de news:
fq53f2priud7shug60ok9ib6lc5fml48n7@4ax.com...
Bonjour à tous.
Je m'amuse (enfin là ça ne m'amuse plus du tout..;) à écrire une série
de 3 scripts destinés à transformer un dossier de photos en gallerie.
Le premier script agit sur ImageMagick (soft en ligne de commande)
pour redimensionner les JPG d'origines en taille intermédiaire et en
thumbails, le deuxième crée l'index.html et le troisième les pages
html correspondant aux photos réduites à la taille intermédiaire.
------------------ Premier script:
'-------------------------------------------------------------------------------------------
Set oShell = WScript.CreateObject ("WSCript.shell")
set img = CreateObject("ImageMagickObject.MagickImage.1")
set fso = CreateObject("Scripting.FileSystemObject")
'---------- D'abord une boucle pour connaître le nbre de JPG
Set oFolder=fso.GetFolder("./.")
WScript.Echo oFolder
nbA=0 'compteur des JPG de base
For Each fileA In oFolder.files
If Not fso.GetExtensionName(fileA)="vbs" Then
WScript.Echo fileA.Name& " est JPG"
nbA=nbA+1
End If
Next
WScript.Echo "nbA=",nbA 'nombre de JPG
convertion
Sub convertion
set files = fso.GetFolder(".").Files
nbB=0 'compteur des JPG traités
for each file in files
WScript.Echo "nbB=",nbB
WScript.Echo "file=",file
If nbB=nbA Then ' si on a atteint le nombre des JPG de base > fin
WScript.Echo"++ nbB=nbA > lance script de gallerie et stop"
If Not fso.GetExtensionName(file)="vbs" Then 'ne pas prendre en
compte le script
'convertion des images:
nbB=nbB+1
img.Convert file.name, "-resize", "639x479", "inter_" & file.name
fso.MoveFile "inter_" & file.name ,"../inter"
img.Convert file.name, "-resize", "200x149", "thm_" & file.name
fso.MoveFile "thm_" & file.name ,"../thmb"
End If
Next
End Sub
-------------------------------------------
J'ai des problème au niveau du lancement du deuxième script par le
premier. Ca marche très bien quand je l'exécute dans mon éditeur
(Primalscript), mais quand je le lance directement il bloque à
oShell.Run "../scripts/gallerieD-02.1.vbs",1,TRUE
sans message d'erreur.
Ca marche si je change l'hôte CSCRIPT pour WSCRIPT mais alors il y a
trop de boites de messages dans les scripts d'écriture html.
Merci d'avance pour votre aide éventuelle - Moi j'abandonne :)
As-tu essayé d'écrire le chemin avec des "" plutôt que des "/"?
Sinon, je sais que ça ne résoudra pas ton problème de vbs, mais en voyant ton besoin je me suis amusé (enfin, jusqu'à présent ça m'amuse :-)) à écrire qq chose du même genre en PowerShell:
--- couper ici --- # new-album.ps1 # # Crèe un album d'images # # Usage: new-album -source répertoire -dest répertoire [-filtre *.jpg,*.bmp,...] [-largeur x] [-hauteur y] # # -source est le répertoire où les images doivent être présentes # -dest est le répertoire où seront créés l'album et les miniatures # -filtre précise quels fichiers doivent être inclus (*.jpg par défaut) # -largeur est la largeur des miniatures en pixels (200 par défaut) # -hauteur est la hauteur des miniatures en pixels (149 par défaut) # # L'album est constitué d'un fichier album.htm qui affiche toutes les miniatures # et les lie à leur image d'origine. #
Les explications sont fournies en tête du script. Je n'ai fait que des tests basiques, et j'ai un souci avec l'affichage des miniatures (elles sont visibles dans l'Explorateur mais pas dans la page album.htm) mais c'est déjà une bonne base que je voulais partager au cas où. Je regarderai le problème d'affichage plus tard ce soir.
Jacques
"tibule" a écrit dans le message de news:
Bonjour à tous.
Je m'amuse (enfin là ça ne m'amuse plus du tout..;) à écrire une série de 3 scripts destinés à transformer un dossier de photos en gallerie. Le premier script agit sur ImageMagick (soft en ligne de commande) pour redimensionner les JPG d'origines en taille intermédiaire et en thumbails, le deuxième crée l'index.html et le troisième les pages html correspondant aux photos réduites à la taille intermédiaire.
------------------ Premier script:
'------------------------------------------------------------------------------------------- Set oShell = WScript.CreateObject ("WSCript.shell")
set img = CreateObject("ImageMagickObject.MagickImage.1") set fso = CreateObject("Scripting.FileSystemObject") '---------- D'abord une boucle pour connaître le nbre de JPG Set oFolder=fso.GetFolder("./.") WScript.Echo oFolder nbA=0 'compteur des JPG de base For Each fileA In oFolder.files If Not fso.GetExtensionName(fileA)="vbs" Then WScript.Echo fileA.Name& " est JPG" nbA=nbA+1 End If Next WScript.Echo "nbA=",nbA 'nombre de JPG convertion
Sub convertion set files = fso.GetFolder(".").Files nbB=0 'compteur des JPG traités
for each file in files WScript.Echo "nbB=",nbB WScript.Echo "file=",file If nbB=nbA Then ' si on a atteint le nombre des JPG de base > fin WScript.Echo"++ nbB=nbA > lance script de gallerie et stop"
If Not fso.GetExtensionName(file)="vbs" Then 'ne pas prendre en compte le script 'convertion des images: nbB=nbB+1 img.Convert file.name, "-resize", "639x479", "inter_" & file.name fso.MoveFile "inter_" & file.name ,"../inter" img.Convert file.name, "-resize", "200x149", "thm_" & file.name fso.MoveFile "thm_" & file.name ,"../thmb" End If Next End Sub -------------------------------------------
J'ai des problème au niveau du lancement du deuxième script par le premier. Ca marche très bien quand je l'exécute dans mon éditeur (Primalscript), mais quand je le lance directement il bloque à
oShell.Run "../scripts/gallerieD-02.1.vbs",1,TRUE
sans message d'erreur.
Ca marche si je change l'hôte CSCRIPT pour WSCRIPT mais alors il y a trop de boites de messages dans les scripts d'écriture html.
Merci d'avance pour votre aide éventuelle - Moi j'abandonne :)
Christophe
~Jean-Marc~ [MVP]
Salutations tibule, tu nous disais :
Je m'amuse (enfin là ça ne m'amuse plus du tout..;) à écrire une série de 3 scripts destinés à transformer un dossier de photos en gallerie.
Euh, si c'est dans le but de jouer avec du script, ne lis pas la suite...
Webthumb te fera tout ça facilement : http://www.phobosoft.ch/index.php?option=com_docman&task=doc_download&gid=9&Itemid&
Le Sun, 27 Aug 2006 18:26:49 +0200, "Jacques Barathon [MS]"
As-tu essayé d'écrire le chemin avec des "" plutôt que des "/"?
Sinon, je sais que ça ne résoudra pas ton problème de vbs, mais en voyant ton besoin je me suis amusé (enfin, jusqu'à présent ça m'amuse :-)) à écrire qq chose du même genre en PowerShell:
PowerShell ? Tu veux que je me mette au PowerShell à trois jours de ma rentrée ? ;))) Et d'abord c'est quoi ce machin? ;)))
Jusqu'ici je ne connais que le vbs (juste un peu et n'importe comment)
En tout cas c'est très sympa, merci beaucoup pour ton effort :). Le but du jeu c'était de jouer "avec du code" (comme dit Jean-Marc) - mais aussi de me faire mon appli sur mesure car les softs que j'avais trouvés tout faits ne me plaisaientt pas trop, notamment je voulais un format intermédiaire (en plus des vignettes), donc trois formats en tout, et pas de redimensionnement 'à la volée" qui fait un affichage trop lent à mon goût. En cherchant bien je pense que je pourrais trouver mais je me suis naturellement pris au jeu. Ca faisait longtemps que je n'avais pas eu le temps de bidouiller. En fait ça marche impec en l'état mais il faut lancer séparément le deuxième script (gallerie de vignettes) qui lui envoie le troisième (pages html avec images réduites en 639x479 + la navigation) J'aimerais tout de même comprendre pourquoi le .Run du premier script marche sous l'éditeur PrimalScript et pas quand je lance ce premier script à la main. C'est rageant de buter sur ce qui doit être une broutille. Ca a peut-être quelque chose à voir avec Convert.exe . J'ai essayé img.Close mais j'ai un message d'erreur.
Non, il doit aussi y avoir une histoire avec les chemins relatifs entre script qui lance et script cible. si un run est lancé à l'intérieur d'un script qui lui-même a été lancé dans un autre, il y a pleins de chemins à vérifier... Je devrais donc utiliser des chemins absolus, et donc les créer au cours d'un genre de setup?
Des limites de l'autodidactie... Et il faut vraiment que je prépare ma rentrée, là ;)
A+ et encore merci. L'été prochain j'attaque le C et le php ;)
Christophe
Le Sun, 27 Aug 2006 18:26:49 +0200, "Jacques Barathon [MS]"
As-tu essayé d'écrire le chemin avec des "" plutôt que des "/"?
Sinon, je sais que ça ne résoudra pas ton problème de vbs, mais en voyant
ton besoin je me suis amusé (enfin, jusqu'à présent ça m'amuse :-)) à écrire
qq chose du même genre en PowerShell:
PowerShell ? Tu veux que je me mette au PowerShell à trois jours de ma
rentrée ? ;))) Et d'abord c'est quoi ce machin? ;)))
Jusqu'ici je ne connais que le vbs (juste un peu et n'importe
comment)
En tout cas c'est très sympa, merci beaucoup pour ton effort :).
Le but du jeu c'était de jouer "avec du code" (comme dit Jean-Marc) -
mais aussi de me faire mon appli sur mesure car les softs que j'avais
trouvés tout faits ne me plaisaientt pas trop, notamment je voulais un
format intermédiaire (en plus des vignettes), donc trois formats en
tout, et pas de redimensionnement 'à la volée" qui fait un affichage
trop lent à mon goût.
En cherchant bien je pense que je pourrais trouver mais je me suis
naturellement pris au jeu. Ca faisait longtemps que je n'avais pas eu
le temps de bidouiller. En fait ça marche impec en l'état mais il faut
lancer séparément le deuxième script (gallerie de vignettes) qui lui
envoie le troisième (pages html avec images réduites en 639x479 + la
navigation)
J'aimerais tout de même comprendre pourquoi le .Run du premier script
marche sous l'éditeur PrimalScript et pas quand je lance ce premier
script à la main. C'est rageant de buter sur ce qui doit être une
broutille. Ca a peut-être quelque chose à voir avec Convert.exe .
J'ai essayé img.Close mais j'ai un message d'erreur.
Non, il doit aussi y avoir une histoire avec les chemins relatifs
entre script qui lance et script cible. si un run est lancé à
l'intérieur d'un script qui lui-même a été lancé dans un autre, il y a
pleins de chemins à vérifier... Je devrais donc utiliser des chemins
absolus, et donc les créer au cours d'un genre de setup?
Des limites de l'autodidactie... Et il faut vraiment que je prépare ma
rentrée, là ;)
A+ et encore merci. L'été prochain j'attaque le C et le php ;)
Le Sun, 27 Aug 2006 18:26:49 +0200, "Jacques Barathon [MS]"
As-tu essayé d'écrire le chemin avec des "" plutôt que des "/"?
Sinon, je sais que ça ne résoudra pas ton problème de vbs, mais en voyant ton besoin je me suis amusé (enfin, jusqu'à présent ça m'amuse :-)) à écrire qq chose du même genre en PowerShell:
PowerShell ? Tu veux que je me mette au PowerShell à trois jours de ma rentrée ? ;))) Et d'abord c'est quoi ce machin? ;)))
Jusqu'ici je ne connais que le vbs (juste un peu et n'importe comment)
En tout cas c'est très sympa, merci beaucoup pour ton effort :). Le but du jeu c'était de jouer "avec du code" (comme dit Jean-Marc) - mais aussi de me faire mon appli sur mesure car les softs que j'avais trouvés tout faits ne me plaisaientt pas trop, notamment je voulais un format intermédiaire (en plus des vignettes), donc trois formats en tout, et pas de redimensionnement 'à la volée" qui fait un affichage trop lent à mon goût. En cherchant bien je pense que je pourrais trouver mais je me suis naturellement pris au jeu. Ca faisait longtemps que je n'avais pas eu le temps de bidouiller. En fait ça marche impec en l'état mais il faut lancer séparément le deuxième script (gallerie de vignettes) qui lui envoie le troisième (pages html avec images réduites en 639x479 + la navigation) J'aimerais tout de même comprendre pourquoi le .Run du premier script marche sous l'éditeur PrimalScript et pas quand je lance ce premier script à la main. C'est rageant de buter sur ce qui doit être une broutille. Ca a peut-être quelque chose à voir avec Convert.exe . J'ai essayé img.Close mais j'ai un message d'erreur.
Non, il doit aussi y avoir une histoire avec les chemins relatifs entre script qui lance et script cible. si un run est lancé à l'intérieur d'un script qui lui-même a été lancé dans un autre, il y a pleins de chemins à vérifier... Je devrais donc utiliser des chemins absolus, et donc les créer au cours d'un genre de setup?
Des limites de l'autodidactie... Et il faut vraiment que je prépare ma rentrée, là ;)
A+ et encore merci. L'été prochain j'attaque le C et le php ;)
Christophe
JF
*Bonjour tibule* ! (news:)
Je crois que tu es concerné ici : "Mon album d'images avec PowerShell" http://janel.spaces.live.com/blog/cns!9B5AA3F6FA0088C2!209.entry <<Tout commença par une question sur le forum de scripting MS. >>
Je crois que tu es concerné ici :
"Mon album d'images avec PowerShell"
http://janel.spaces.live.com/blog/cns!9B5AA3F6FA0088C2!209.entry
<<Tout commença par une question sur le forum de scripting MS. >>
Je crois que tu es concerné ici : "Mon album d'images avec PowerShell" http://janel.spaces.live.com/blog/cns!9B5AA3F6FA0088C2!209.entry <<Tout commença par une question sur le forum de scripting MS. >>
-- Salutations, Jean-François :o)
Jacques Barathon [MS]
"JF" wrote in message news:
*Bonjour tibule* ! (news:)
Je crois que tu es concerné ici : "Mon album d'images avec PowerShell" http://janel.spaces.live.com/blog/cns!9B5AA3F6FA0088C2!209.entry <<Tout commença par une question sur le forum de scripting MS. >>
Je préfère prévenir tout de suite, aucun droit d'auteur ne pourra être exigé ;-)
Jacques
"JF" <JF@-> wrote in message news:uQcrVChDHHA.1224@TK2MSFTNGP04.phx.gbl...
Je crois que tu es concerné ici :
"Mon album d'images avec PowerShell"
http://janel.spaces.live.com/blog/cns!9B5AA3F6FA0088C2!209.entry
<<Tout commença par une question sur le forum de scripting MS. >>
Je préfère prévenir tout de suite, aucun droit d'auteur ne pourra être exigé
;-)
Je crois que tu es concerné ici : "Mon album d'images avec PowerShell" http://janel.spaces.live.com/blog/cns!9B5AA3F6FA0088C2!209.entry <<Tout commença par une question sur le forum de scripting MS. >>
Je préfère prévenir tout de suite, aucun droit d'auteur ne pourra être exigé ;-)
Jacques
JF
*Bonjour Jacques Barathon [MS]* !
Je crois que tu es concerné ici : "Mon album d'images avec PowerShell" http://janel.spaces.live.com/blog/cns!9B5AA3F6FA0088C2!209.entry <<Tout commença par une question sur le forum de scripting MS. >> Je préfère prévenir tout de suite, aucun droit d'auteur ne pourra être exigé
;-) Jacques
Adieu pépètes ! :o)
-- Salutations, Jean-François
*Bonjour Jacques Barathon [MS]* !
Je crois que tu es concerné ici :
"Mon album d'images avec PowerShell"
http://janel.spaces.live.com/blog/cns!9B5AA3F6FA0088C2!209.entry
<<Tout commença par une question sur le forum de scripting MS. >>
Je préfère prévenir tout de suite, aucun droit d'auteur ne pourra être exigé
Je crois que tu es concerné ici : "Mon album d'images avec PowerShell" http://janel.spaces.live.com/blog/cns!9B5AA3F6FA0088C2!209.entry <<Tout commença par une question sur le forum de scripting MS. >> Je préfère prévenir tout de suite, aucun droit d'auteur ne pourra être exigé