Lancer CMD avec 2 variables VBS - Pour Sauvegarde - [Résolu/Fermé]

Skalouche11 16 Messages postés lundi 29 septembre 2014Date d'inscription 1 octobre 2014 Dernière intervention - 29 sept. 2014 à 11:23 - Dernière réponse : jordane45 20570 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 21 avril 2018 Dernière intervention
- 29 sept. 2014 à 16:44
Bonjour,



Voici ma problèmatique:

Je dois créer un VBScript qui demande 2 réponses (les variables %1 et %2) pour ensuite lancer cette commande "macommande %1 %2".

Ceci lance une sauvegarde de base SQL avec pour %1 le nom de la base et pour %2 le nom du fichier de sauvegarde (stocké au même endroit que le .VBS et le .CMD.



Le plus gros problème, c'est moi c'est que je ne suis un gros novice en VBS, mais la tâche est assez urgente.



Voici mes scripts:



VBS:


Option Explicit
Dim %1
Dim %2
Dim oShell

%1 = InputBox("Quel est le nom de la societe?","Sauvegarde")
%2 = InputBox("Nom du fichier de sauvegarde:","Sauvegarde")

Set oShell = CreateObject("WScript.Shell")
oShell.Run "DB_sauve_1soc" & %1 & %2
Wscript.Quit

CMD:


c:

cd "C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn"
sqlcmd.exe -E -SSERVER\SAGE100 -Q"BACKUP DATABASE [P_%1] TO DISK = N'F:\SAGE\SAV\%2.BAK' WITH FORMAT, NAME = N'%1-Complète', SKIP, NOREWIND, NOUNLOAD, STATS = 10"

pause



Cela fonctionne bien en commande directe sur le serveur en question et dans le reperoire des fichiers scripts avec la commande "macommande TEST TEST092014".

Par contre quand je lance le vbs déjà j'ai un message d'erreur comme quoi il n'aime pas le nom des variables %1 et %2.

J'ai essayé en remplaçant par BASE et NAME mais j'ai une erreur à l'execution de la sauvegarde comme quoi il ne trouve pas la base [P_BASE]. Pourtant dans la Inputbox j'avais rentré le nom d'une base existante (pas "TEST" evidement)!



Ducoup je suis un peu pommé, je ne sais plus par où aller. Je suis sûr que quelqu'un pourra m'aider, à mon avis les lignes de codes pour ma problematiques ne sont pas très compliquées...

SVP :D





SkAlOuChE11
Afficher la suite 

14 réponses

jordane45 20570 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 21 avril 2018 Dernière intervention - Modifié par jordane45 le 29/09/2014 à 12:03
0
Utile
Bonjour,

Il ne faut pas nommer dans ton fichier vbs, les variables à envoyer avec un % ...
Sans oublier les espaces entre chaque variables à envoyer au script...

Essaye:
Option Explicit
Dim  maVar1
Dim maVar2
Dim cmdToRun 
Dim oShell

maVar1= InputBox("Quel est le nom de la societe?","Sauvegarde")
maVar2= InputBox("Nom du fichier de sauvegarde:","Sauvegarde")

cmdToRun = "DB_sauve_1soc " & maVar1 & " " & maVar2

  Set oShell = CreateObject("WScript.Shell")
  oShell.Run cmdToRun
  Wscript.Quit



Edit : Oublie d'un Espace entre le nom du fichier et les variables

Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - 29 sept. 2014 à 11:50
0
Utile
Bonjour,
j'observe l'absence d'espaces dans le texte de ta commande
Skalouche11 16 Messages postés lundi 29 septembre 2014Date d'inscription 1 octobre 2014 Dernière intervention - 29 sept. 2014 à 12:07
0
Utile
11
Alors là.

Il lance bien les 2 Inputbox l'une après l'autre. Je les remplie correctement, puis il me dit ligne 13 le fichier est introuvable.

Sauf que je n'ai fait aucune faute de frappe dans le fichier et il est bien au dans le même répertoire que le vbs, je l'ai sous les yeux.

J'ai essayé avec est sans ".cmd" ... rien y fait.


J'ai aussi modifier les %1 et %2 par mes nouveaux noms de variables, c'est bon?
jordane45 20570 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 21 avril 2018 Dernière intervention - 29 sept. 2014 à 13:29
Là. ..c'est une autre question.
Si ton souci initiale est réglé il faut mettre ce sujet en RESOLU.

Pour toute autre question. ..ouvre une nouvelle discussion.
Merci.
Skalouche11 16 Messages postés lundi 29 septembre 2014Date d'inscription 1 octobre 2014 Dernière intervention - 29 sept. 2014 à 13:36
OK sa marche.

Merci beaucoup en tout cas !!
jordane45 20570 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 21 avril 2018 Dernière intervention - 29 sept. 2014 à 13:37
Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)

Cordialement,
Jordane
Skalouche11 16 Messages postés lundi 29 septembre 2014Date d'inscription 1 octobre 2014 Dernière intervention - 29 sept. 2014 à 16:40
Est-il possible de faire l'équivalent de ça :

WshShell.run "runas /user:nom-ordi\blabla cmd.exe"

pour mon VBS ?
en remplaçant pas l'utilisateur Administrateur de mon domaine?
jordane45 20570 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 21 avril 2018 Dernière intervention - 29 sept. 2014 à 16:44
Cette "nouvelle" question n'a pas sa place dans cette discussion.

Pour rappel.. sur ce forum.. on ne pose qu ' UNE question par discussion..
Vu que ta question initiale est traitée... il serait bien de clore ce sujet !

Sachant que tu as ouvert une nouvelle question (comme je te l'avais demandé ) à cette adresse :
http://codes-sources.commentcamarche.net/forum/affich-10036454-droit-admin-vbs-sauvegarde-db-sql


Je ferme/clos donc cette discussion.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.