Commande dos dans un script VBS

Résolu
cs_fruty Messages postés 2 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 23 octobre 2009 - 22 oct. 2009 à 15:25
lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 - 23 oct. 2009 à 11:08
Bonjour à tous,

j'essaye actuellement de lancer une commande dos qui permettras de zipper un fichier dans un script VBS.

Voici une partie de mon code :

Zip = IISLOGDIR & "ex" & AYEAR & AMONTH & ADAY &
fic = IISLOGDIR & "ex" & AYEAR & AMONTH & ADAY & ".log"
set shl = createobject("wscript.shell")
shl.run "command /c 7za a -tzip & Zip & .zip & fic &",0,true

La dernière ligne est censé créer un fichier zip à partir du fichier défini par la variable "fic" avec comme nom celui défini par la variable "Zip".

Mais cela ne fonctionne pas ^^.

Quelqu'un pourrait t-il m'aider ?

Merci.

Cdlt,
Julien

4 réponses

lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
23 oct. 2009 à 11:08
Bonjour,

Si ton problème est résolu pense au bouton réponse acceptée pour le(s) post(s) qui t'ont permis de solutionner ton cas.

Autre chose pour que ce soit plus lisible, pourquoi ne pas déclarer ta variable en rajoutant le .zip plutôt que de le rajouter dans la commande?
"& Zip & ".zip " peut prêter à confusion..

Zip ="ex" & AYEAR & AMONTH & ADAY & ".zip "
Comme ça tu mets 1 seule fois zip dans ta ligne de commande :
shl.run "command /c 7za a -tzip "& Zip & fic ,0,true

L'expérience, c'est une connerie par jour, mais jamais la même..
3
lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
22 oct. 2009 à 16:05
Bonjour,

a quoi correspond ta variable IISLOGDIR?
Zip = IISLOGDIR & "ex" & AYEAR & AMONTH & ADAY &
Il doit surement manquer des slash..
IISLOGDIR & "\ex" & AYEAR & AMONTH & ADAY

shl.run "command /c 7za a -tzip " & Zip & ".zip " & fic,0,true
Je pense qu'il manque également des guillemets.

Pour etre sur, déclare une variable commande1
Affecte lui la commande "command /c 7za a -tzip " & Zip & ".zip " & fic et affiche cette variable avant de la donner en paramètre.

L'expérience, c'est une connerie par jour, mais jamais la même..
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
22 oct. 2009 à 18:05
Bonjour,

... et le "&" à la fin doit surement déclencher une erreur ?...
Zip = IISLOGDIR & "ex" & AYEAR & AMONTH & ADAY &

Normalement,
Zip = IISLOGDIR & "ex" & AYEAR & AMONTH & ADAY

En supposant que les variables AYEAR, etc. ont bien les ""

Amicalement,
Us.
0
cs_fruty Messages postés 2 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 23 octobre 2009
23 oct. 2009 à 09:38
Merci pour vos réponses :


En faite les variables définis ici : Zip = IISLOGDIR & "ex" & AYEAR & AMONTH & ADAY

sont celle la :
IISLOGDIR = "D:\LogFiles\W3SVC670811"
ADAY = Right (0 & CStr(Day(Date - 1)),2)
AMONTH = Right (0 & CStr(Month(Date - 1)),2)
AYEAR = Right (0 & CStr(Year(Date - 1)),2)

en faite mon script extrait les log IIS de la veille et les transfert ensuite sur ftp.

Pendant que j'écrivais j'ai réussi à faire ce que je voulais.
Une erreur bête comme d'habitude ^^. j'ai enlevé un "&" comme vous m'avez conseillé et j'ai enlevé "IISLOGDIR" dans la variable Zip.

Maintenant ça fonctionne :
Zip ="ex" & AYEAR & AMONTH & ADAY
fic = IISLOGDIR & "ex" & AYEAR & AMONTH & ADAY & ".log"
set shl = createobject("wscript.shell")
shl.run "command /c 7za a -tzip "& Zip & ".zip "& fic ,0,true


merci encore.
Cdlt,
Julien
0
Rejoignez-nous