Fichier de commandes à l'aide Si relevé et la saisie au clavier
Un peu de retard bonne Année à tout le monde, espérons que vous avez passé un bon.
Je suis en train de créer un fichier batch qui va prendre l'entrée de clavier, et ensuite, soit le lancement d'un programme basé sur la saisie ou l'affichage d'un message d'erreur si l'option entré n'est pas valide. Mais cela ne fonctionne pas. Voici ce que j'ai obtenu jusqu'à présent:
ECHO OFF
set /p %environment%=Connect to Live or Dev?:
IF %environment% = "Live"
(
C:\Windows\System32\runas.exe /user:live\someuser /netonly "C:\Program Files (x86)\Microsoft SQL Server0\Tools\Binn\ManagementStudio\Ssms.exe"
)
ELSE IF %environment% = "Dev"
(
C:\Windows\System32\runas.exe /user:dev\someuser /netonly "C:\Program Files (x86)\Microsoft SQL Server0\Tools\Binn\ManagementStudio\Ssms.exe"
)
ELSE
(
ECHO "Invalid Option"
)
Je l'ai essayé avec et sans le % tour de la variable, mais il ne fonctionne pas. Quelqu'un peut me pointer dans la bonne direction?
Espère que vous pouvez aider.
Acclamations
Alex
supprimer la
@echo off
pour voir ce qui se passe: 1) regardez, comment votre if
ligne est traduit. 2) la (
doit être sur la même ligne que le if
3) ) else (
doit être sur une seule ligneOriginalL'auteur denimknight | 2014-01-10
Vous devez vous connecter pour publier un commentaire.
Voici un code pour vous mettre dans la bonne direction. J'ai testé avec un .fichier cmd sous Windows 7.
OriginalL'auteur tehvan
1 - Dans
set
de commande, le nom de la variable à gauche du signe égal ne pas utiliser%
signes.%var%
sintax est utilisé pour récupérer la valeur de la variable.2 - L'opérateur de test d'égalité est
==
ouEQU
(voirif /?
)3 - Dans le
IF
de commande, même en citant doit être appliqué sur les deux côtés de l'opérateur d'égalité. Si non, les valeurs ne seront pas considérés comme des égaux4 - Les commandes /bloc à exécuter lorsque l'
IF
commande condition est vraie, doit commencer dans la même ligne que le if, donc à partir de la parenthèse ne peut pas être dans la ligne suivante5 - La
ELSE
doit continuer laIF
bloc et précèdent le début de son bloc. Fermer la parenthèse de laIF
et de départ parenthèse de laELSE
doit être dans la même ligne.OriginalL'auteur MC ND