Les instructions conditionnelles dans des fichiers batch
Est-il possible d'avoir des instructions conditionnelles dans les scripts batch?
Par exemple:
J'ai deux serveurs S1 et S2.Lorsque le fichier de commandes est déployé dans S1 puis la sortie doit être généré à l'emplacement de la L1. De même, si le fichier de commandes est déployé dans S2 puis sortie doit être généré à l'emplacement de la L2.
Mon script:
set ComputerName=S1
set RepServer=%ComputerName%
set DBServer=%ComputerName%
set ReportPath="/DEV/Clearviewbilling"
set SharedPath=\\scottvdr1\ClearviewBilling\DEV-TEST
set UserId=-E
set fn=Create_Log.txt
if exist %fn% del %fn%
@echo on
@rem Reports
rs -i "%CD%"\Reports\Create_Sub.rss -s http://%RepServer%/reportserver -v Path=%SharedPath% -v rootpath=%ReportPath% -v DBServer=%DBServer% -t >> %fn% 2>&1
Mais je veux que le script:
set ComputerName=S1
set RepServer=%ComputerName%
set DBServer=%ComputerName%
If ComputerName=S1
Set SharedPath=//blah/blah
else
Set sharedPath=//some/path
set ReportPath="/DEV/Clearviewbilling"
set UserId=-E
set fn=Create_Log.txt
if exist %fn% del %fn%
@echo on
@rem Reports
rs -i "%CD%"\Reports\Create_Sub.rss -s http://%RepServer%/reportserver -v Path=%SharedPath% -v rootpath=%ReportPath% -v DBServer=%DBServer% -t >> %fn% 2>&1
C'est pourquoi, lorsque le fichier est déployé, les rapports sont générés dans le chemin d'accès requis. Mais ce n'est pas de travail.
Vous devez vous connecter pour publier un commentaire.
Vous comparer la chaîne ComputerName contre S1 avec le mauvais if-else syntaxe
Cela devrait fonctionner