寫了各迴圈替換TNS檔案的BAT指令碼

darren__chan發表於2014-11-09

第一次寫BAT,不喜勿噴!
寫得比較小白!



@ECHO off
COLOR 6
TITLE TNS 切換程式 by darren
MODE CON: COLS=110 LINES=40


:begin
ECHO -----------------------------------------------------------------------------------
ECHO                 環境1                                             環境2
ECHO TNS 1.tnsnames TNS 1.ORA ---- TNS 1         TNS 6.tnsnames TNS 6.ORA ---- TNS 6
ECHO -----------------------------------------------------------------------------------
ECHO TNS 2.tnsnames TNS 2.ORA---- TNS 2           TNS 7.tnsnames TNS 7.ORA---- TNS 7
ECHO -----------------------------------------------------------------------------------
ECHO TNS 3.tnsnames TNS 3.ORA ---- TNS 3           TNS 8.tnsnames TNS 8.ORA ---- TNS 8  
ECHO -----------------------------------------------------------------------------------
ECHO TNS 4.tnsnames TNS 4.ORA ---- TNS 4          TNS 9.tnsnames TNS 9.ORA ---- TNS 9
ECHO -----------------------------------------------------------------------------------
ECHO TNS 5.tnsnames TNS 5.ORA ---- TNS 5           TNS 10.tnsnames TNS 10.ORA ---- TNS 10
ECHO -----------------------------------------------------------------------------------
ECHO 檢視當前當前TNS設定:-----------------------v------------------------------------!!!
ECHO 檢視命令對照表:----------------------------b------------------------------------!!!
ECHO 退出請輸入:--------------------------------q------------------------------------!!!






rem XCOPY C:\AUTOEXEC.BAT D:\  
  


echo.                                                                                       
echo.
echo.


echo =======================================================================================
set localtns=D:\app\Administrator\product\11.2.0\client_1\network\admin\tnsnames.ora
if exist "%localtns%" ( echo 本地TNS路徑為: "%localtns%" ) else echo 本地找不到"%localtns%" ,請檢視是否安裝oracle客戶端或重新設定TNS路徑!
echo =======================================================================================


echo.
:input
set  TheTNS=null
set /a number=number+1  
echo #########################################第 %number% 次輸入####################################################
echo 請輸入數字0-10選擇TNS,字母命令請參照對照表,檢視命令對照表請按‘b’
set /p TheTNS=請輸入序號:        


echo 您輸入的序號為:%TheTNS% 
rem if %TheTNS%=="1" goto tns1




if "%TheTNS%"=="1" (goto tns1)
if "%TheTNS%"=="2" (goto tns2)
if "%TheTNS%"=="3" (goto tns3)
if "%TheTNS%"=="4" (goto tns4)
if "%TheTNS%"=="5" (goto tns5)
if "%TheTNS%"=="6" (goto tns6)
if "%TheTNS%"=="7" (goto tns7)
if "%TheTNS%"=="8" (goto tns8)
if "%TheTNS%"=="9" (goto tns9)
if "%TheTNS%"=="10" (goto tns10)
if "%TheTNS%"=="q" (goto quit)
if "%TheTNS%"== "b" (goto begin)
if "%TheTNS%" LSS "1" (goto error)
if "%TheTNS%" GEQ "11" (goto error)
if "%TheTNS%"== null (goto error)






rem for %%i in (1 2 3 4 5 6 7 8 9 10) do echo tns%%i
 
echo ----------------------------------
echo ----------------------------------
echo ----------------------------------




:tns1
set tns=tnsnames TNS 1.ORA
echo ------------------------------------
echo 您當前選擇的TNS為:%tns% --地稅生產 TNS 1
echo ------------------------------------
set /p choice=請選擇(y.執行 n.跳過):
if "%choice%"=="y" goto do
if "%choice%"=="n" echo 我想重新選擇TNS!!!!!!! & goto out
if not "%choice%"=="y" if not "%choice%"=="n" echo 大哥,yes or no!!!未替換!!!! & goto out
:do
if not exist "%tns%" ( msg * "        未找到要複製的原始檔" & echo 此次替換失敗Failed!!!) else goto next
:next
if exist "%localtns%" (xcopy /e /y "%tns%"  "%localtns%" ) else  msg * "未找到要本地"%localtns%",請檢查路徑是否設定錯誤或是否已安裝oracle客戶端" 此次替換失敗Failed!!!
goto out




:tns2
set tns=tnsnames TNS 2.ORA
echo ------------------------------------
echo 您當前選擇的TNS為:%tns% --地稅預生產 TNS 2
echo ------------------------------------
set /p choice=請選擇(y.執行 n.跳過):
if "%choice%"=="y" goto do
if "%choice%"=="n" echo 我想重新選擇TNS!!!!!!! & goto out
if not "%choice%"=="y" if not "%choice%"=="n" echo 大哥,yes or no!!!未替換!!!! & goto out
:do
if not exist "%tns%" ( msg * "        未找到要複製的原始檔" & echo 此次替換失敗Failed!!!) else goto next
:next
if exist "%localtns%" (xcopy /e /y "%tns%"  "%localtns%" ) else  msg * "未找到要本地"%localtns%",請檢查路徑是否設定錯誤或是否已安裝oracle客戶端" 此次替換失敗Failed!!!
goto out




:tns3
set tns=tnsnames TNS 3.ORA
echo ------------------------------------
echo 您當前選擇的TNS為:%tns% --地稅功能 TNS 3
echo ------------------------------------
set /p choice=請選擇(y.執行 n.跳過):
if "%choice%"=="y" goto do
if "%choice%"=="n" echo 我想重新選擇TNS!!!!!!! & goto out
if not "%choice%"=="y" if not "%choice%"=="n" echo 大哥,yes or no!!!未替換!!!! & goto out
:do
if not exist "%tns%" ( msg * "        未找到要複製的原始檔" & echo 此次替換失敗Failed!!!) else goto next
:next
if exist "%localtns%" (xcopy /e /y "%tns%"  "%localtns%" ) else  msg * "未找到要本地"%localtns%",請檢查路徑是否設定錯誤或是否已安裝oracle客戶端" 此次替換失敗Failed!!!
goto out




:tns4
set tns=tnsnames TNS 4.ORA
echo ------------------------------------
echo 您當前選擇的TNS為:%tns% --地稅採集 TNS 4
echo ------------------------------------
set /p choice=請選擇(y.執行 n.跳過):
if "%choice%"=="y" goto do
if "%choice%"=="n" echo 我想重新選擇TNS!!!!!!! & goto out
if not "%choice%"=="y" if not "%choice%"=="n" echo 大哥,yes or no!!!未替換!!!! & goto out
:do
if not exist "%tns%" ( msg * "        未找到要複製的原始檔" & echo 此次替換失敗Failed!!!) else goto next
:next
if exist "%localtns%" (xcopy /e /y "%tns%"  "%localtns%" ) else  msg * "未找到要本地"%localtns%",請檢查路徑是否設定錯誤或是否已安裝oracle客戶端" 此次替換失敗Failed!!!
goto out






:tns5
set tns=tnsnames TNS 5.ORA
echo ------------------------------------
echo 您當前選擇的TNS為:%tns% ----地稅培訓 TNS 5
echo ------------------------------------
set /p choice=請選擇(y.執行 n.跳過):
if "%choice%"=="y" goto do
if "%choice%"=="n" echo 我想重新選擇TNS!!!!!!! & goto out
if not "%choice%"=="y" if not "%choice%"=="n" echo 大哥,yes or no!!!未替換!!!! & goto out
:do
if not exist "%tns%" ( msg * "        未找到要複製的原始檔" & echo 此次替換失敗Failed!!!) else goto next
:next
if exist "%localtns%" (xcopy /e /y "%tns%"  "%localtns%" ) else  msg * "未找到要本地"%localtns%",請檢查路徑是否設定錯誤或是否已安裝oracle客戶端" 此次替換失敗Failed!!!
goto out








:tns6
set tns=tnsnames TNS 6.ORA
echo ------------------------------------
echo 您當前選擇的TNS為:%tns% --國稅生產 TNS 6
echo ------------------------------------
set /p choice=請選擇(y.執行 n.跳過):
if "%choice%"=="y" goto do
if "%choice%"=="n" echo 我想重新選擇TNS!!!!!!! & goto out
if not "%choice%"=="y" if not "%choice%"=="n" echo 大哥,yes or no!!!未替換!!!! & goto out
:do
if not exist "%tns%" ( msg * "        未找到要複製的原始檔" & echo 此次替換失敗Failed!!!) else goto next
:next
if exist "%localtns%" (xcopy /e /y "%tns%"  "%localtns%" ) else  msg * "未找到要本地"%localtns%",請檢查路徑是否設定錯誤或是否已安裝oracle客戶端" 此次替換失敗Failed!!!
goto out








:tns7
set tns=tnsnames TNS 7.ORA
echo ------------------------------------
echo 您當前選擇的TNS為:%tns% -- TNS 7
echo ------------------------------------
set /p choice=請選擇(y.執行 n.跳過):
if "%choice%"=="y" goto do
if "%choice%"=="n" echo 我想重新選擇TNS!!!!!!! & goto out
if not "%choice%"=="y" if not "%choice%"=="n" echo 大哥,yes or no!!!未替換!!!! & goto out
:do
if not exist "%tns%" ( msg * "        未找到要複製的原始檔" & echo 此次替換失敗Failed!!!) else goto next
:next
if exist "%localtns%" (xcopy /e /y "%tns%"  "%localtns%" ) else  msg * "未找到要本地"%localtns%",請檢查路徑是否設定錯誤或是否已安裝oracle客戶端" 此次替換失敗Failed!!!
goto out






:tns8
set tns=tnsnames TNS 8.ORA
echo ------------------------------------
echo 您當前選擇的TNS為:%tns% --國稅功能 TNS 8
echo ------------------------------------
set /p choice=請選擇(y.執行 n.跳過):
if "%choice%"=="y" goto do
if "%choice%"=="n" echo 我想重新選擇TNS!!!!!!! & goto out
if not "%choice%"=="y" if not "%choice%"=="n" echo 大哥,yes or no!!!未替換!!!! & goto out
:do
if not exist "%tns%" ( msg * "        未找到要複製的原始檔" & echo 此次替換失敗Failed!!!) else goto next
:next
if exist "%localtns%" (xcopy /e /y "%tns%"  "%localtns%" ) else  msg * "未找到要本地"%localtns%",請檢查路徑是否設定錯誤或是否已安裝oracle客戶端" 此次替換失敗Failed!!!
goto out




:tns9
set tns=tnsnames TNS 9.ORA
echo ------------------------------------
echo 您當前選擇的TNS為:%tns% --國稅採集 TNS 9
echo ------------------------------------
set /p choice=請選擇(y.執行 n.跳過):
if "%choice%"=="y" goto do
if "%choice%"=="n" echo 我想重新選擇TNS!!!!!!! & goto out
if not "%choice%"=="y" if not "%choice%"=="n" echo 大哥,yes or no!!!未替換!!!! & goto out
:do
if not exist "%tns%" ( msg * "        未找到要複製的原始檔" & echo 此次替換失敗Failed!!!) else goto next
:next
if exist "%localtns%" (xcopy /e /y "%tns%"  "%localtns%" ) else  msg * "未找到要本地"%localtns%",請檢查路徑是否設定錯誤或是否已安裝oracle客戶端" 此次替換失敗Failed!!!
goto out




:tns10
set tns=tnsnames TNS 10.ORA
echo ------------------------------------
echo 您當前選擇的TNS為:%tns% --國稅培訓 TNS 10
echo ------------------------------------
set /p choice=請選擇(y.執行 n.跳過):
if "%choice%"=="y" goto do
if "%choice%"=="n" echo 我想重新選擇TNS!!!!!!! & goto out
if not "%choice%"=="y" if not "%choice%"=="n" echo 大哥,yes or no!!未替換!!!!! & goto out
:do
if not exist "%tns%" ( msg * "        未找到要複製的原始檔" & echo 此次替換失敗Failed!!!) else goto next
:next
if exist "%localtns%" (xcopy /e /y "%tns%"  "%localtns%" ) else  msg * "未找到要本地"%localtns%",請檢查路徑是否設定錯誤或是否已安裝oracle客戶端" 此次替換失敗Failed!!!
goto out






:error
echo.
echo ------------------------------------
echo 錯誤:您輸入的序號不存在,請重新輸入
echo ------------------------------------
echo.
goto input 


:out
echo.
echo ------------------------------------------------------------------------
echo 重新輸入序號進行更換TNS,檢視命令對照表請按‘b’,檢視當前當前TNS設定請按‘v’
echo -------------------------------------------------------------------------
echo.
goto input 






for /f %%a in ('type 1.txt') do echo %%a








:quit
echo 按任意鍵結束 自動關閉.bat
pause;



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29863023/viewspace-1326388/,如需轉載,請註明出處,否則將追究法律責任。

相關文章