Batch et VBScript pour convertir format image avec Inkscape
Bonjour,
Je ne pense pas que l'intitulé du message soit vraiment compréhensible, je vous explique ma problématique suivante :
Je souhaite convertir N images au format .png vers le format .eps via Inkscape (elles sont toutes contenues dans le même répertoire). Inkscape est pilotable via un script en BATCH, le problème c'est qu'à chaque importation d'image, j'ai une fenêtre qui s'ouvre. Cette fenêtre "disparait" en appuyant sur ENTER. Du coup, j'ai intégrer un petit script en VBScript qui permet de temporiser le batch et de simuler l'appuie sur ENTER (pour les N-1 images), je ne simuler pas l'appuie sur ENTER pour la N-ième image sans quoi il me relancerait le BATCH ou du moins me ferait n'importe quoi !
Les scripts suivant fonctionne très bien sur XP et sur mon PC Seven personnel. Par contre, il me pose problème avec le PC Seven du boulot.
Le BATCH :
Citation:
@echo off
REM script Inkscape
REM détermination du nombre N d'images à convertir
set /a nb=0
FOR %%f IN (%~dp0*.png) DO (
set /a nb=nb+1
)
set /a inc=0
FOR %%f IN (*.png) DO (
REM simulation de la touche ENTREE via un script VBS pour les N-1 images avec attente de 1 seconde
set /a inc=inc+1
if /i !inc! LSS !nb! (
wscript "PATH_VBSCRIPT\inkscape.vbs"
)
REM conversion du format de l'image
"PATH_INKSCAPE\inkscape.exe" -f %~dp0%%f -E %~dp0%%~nf.eps
)
Le VBSCRIPT :
Citation:
REM temporisation du 1 seconde
wscript.sleep 1000
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "{ENTER}"
wscript.quit
La différence entre les PC ou ces scripts fonctionnent ou non se situe au niveau de l’exécution du VBScript. Je pense que dans un cas, il arrive à exécuter le VBScript en arrière-plan et en multitâche alors qu'au PC du boulot il doit attendre que le VBScript finisse avant de passer aux instructions suivantes. Du coup il simule l'appuie de la touche entrée avant que la fenêtre apparaissent (lors de l’exécution de Inkscape). Si j'augmente la durée de la temporisation, j’aboutis au même constat...
Je crains que ce ne soit un problème de Firewall (je n'ai pas le contrôle au boulot). Qu'en dites-vous ?
Merci pour vos aides, je débute en batch.