2009-06-16 28 views
4

我在Windows 2003系統上,需要編寫腳本來刪除和創建WebSphere Application Server中的配置文件。這要求我調用manageprofiles.bat兩次,一次刪除現有配置文件,一次創建新配置文件。你怎麼有一個叫bat文件不殺它叫bat文件?

在我的批處理文件,我有以下幾點:

cd "C:\Program Files\IBM\WebSphere\AppServer\bin" 
manageprofiles.bat -delete -profileName AppSrv01 
rmdir /s /q ..\profiles\AppSrv01 
manageprofiles.bat -create -templatePath ..\profileTemplates\default -profileName AppSrv01 -profilePath ..\profiles\AppSrv01 

的manageprofiles.bat文件結尾:

set RC=%ERRORLEVEL% 
@endlocal & exit /b %RC% 

當有錯誤刪除的第二線路的配置我批處理文件(發生的方式太頻繁),manageprofiles.bat吐出一條錯誤消息並導致我的批處理文件終止。我不希望發生這種情況,因爲我將在下一個命令中刪除配置文件的其餘部分。讀取退出的文檔使我相信manageprofiles.bat中的exit命令中的/ b應該會導致manageprofiles.bat終止而不會影響我的bat文件。

我不想以任何方式觸摸manageprofiles.bat文件,因爲我的更改可能會通過更新恢復並再次破壞我的腳本。有沒有什麼我可以在我的批處理文件中解決這個問題?

回答

8

將兩個「manageprofiles.bat」改爲「call manageprofiles.bat」。沒有「調用」,執行將轉移到manageprofiles.bat文件,但不會返回。

+0

當我將它們變成call manageprofiles.bat時,腳本停止回顯命令,實際上是@echo off。如果沒有在每次調用之後放置@echo,是否有辦法防止發生這種情況? – 2009-06-16 17:32:04

4

是否使用

call manageprofiles.bat 

有什麼區別?

+0

檢查命令擴展是否也打開。 – 2009-06-16 17:23:15