2011-04-08 8 views
5

배치 스크립트에 조건문을 포함 할 수 있습니까? 예를 들어배치 파일의 조건문

:

I 두 서버, S1 및 S2.When 배치 파일 S1 다음에 배치 된 출력 위치 L1에서 발생한다 있습니다. 마찬가지로 배치 파일이 S2에 배포 된 경우 L2 위치에 출력이 생성되어야합니다.

내 스크립트를

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 

하지만 난 스크립트가되고 싶어요 : 파일이 배포 될 때

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 

는 따라서, 보고서는 필요한 경로에 생성됩니다. 그러나 이것은 효과가 없습니다.

답변

11

당신은 :) ...이

if "%ComputerName%"=="S1" (
    Set "SharedPath=//blah/blah" 
) else (
    Set "sharedPath=//some/path" 
) 
+0

고마워 젭 작동합니다 잘못된 경우 - 다른 구문

와 S1에 대한 문자열 컴퓨터 이름을 비교 – Iswarya