2011-04-08 53 views
5

是否有可能在批處理腳本中有條件語句?批處理文件中的條件語句

例如:

我有兩個服務器,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

你比較反對S1字符串計算機名與錯誤的if-else語法

這應該工作

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

非常感謝傑布... :) – Iswarya 2011-04-08 12:23:32