Commande dos dans un script VBS [Résolu]

Signaler
Messages postés
2
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
23 octobre 2009
-
Messages postés
1241
Date d'inscription
mardi 10 octobre 2006
Statut
Membre
Dernière intervention
27 août 2013
-
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

Messages postés
1241
Date d'inscription
mardi 10 octobre 2006
Statut
Membre
Dernière intervention
27 août 2013
4
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..
Messages postés
1241
Date d'inscription
mardi 10 octobre 2006
Statut
Membre
Dernière intervention
27 août 2013
4
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..
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
8
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.
Messages postés
2
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
23 octobre 2009

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