.bat(バッチ)から.batを実行したいのですがエラーになってしまいます。
<やりたい事>
(1)メニュー的なバッチからOracleインストール後
(2)OracleのDB作成sqlを実行する.bat(バッチ)を実行する。
<現状>
メニュー的バッチから(2)をCALLで呼びだすと「内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」とコンソールに表示されてしまいます。
コマンドの拡張子を実行できる設定になっている事は確認できています。
また、コマンドプロンプトから(2)のバッチを実行すると実行できました。
色々と調べて見たのですが原因、解決策が見つかりません。
どうか皆様のお力をお借りできればと思います。
宜しくお願いします。
↓以下バッチの詳細
<(1)メニュー的なバッチ>
ECHO OFF
:Start
ECHO.
ECHO 1. ・・・ 運用APLデータベース設定 %P5%
ECHO 99. ・・・ 終了
SET Process=
SET Choice=
SET /p Choice=Type 選択して下さい。
IF '%Choice%'=='1' GOTO MakeDB
:MakeDB
REM 5. 運用APLデータベース設定選択時
SET Process=運用APLデータベース設定
ECHO *** "%Process%"開始 ***
REM 文字変換バッチ実行
CALL C:\TEMP\aaaa.bat
IF ERRORLEVEL 1 GOTO ExceptionError
:InputError
REM 入力エラー時
ECHO 不正なパラメータが入力されました。
GOTO Start
:ExceptionError
REM 例外エラー時
ECHO ******** 失敗しました。 ********
GOTO Start
:End
REM バッチを終了する。
EXIT
<(2)OracleのDB作成sqlを実行する.bat(バッチ)>
SET ORACLE_INSTALL_DIR=C:\oraclexe
SET ORACLE_BIN_DIR=%ORACLE_INSTALL_DIR%\app\oracle\product\10.2.0\server\BIN
SET ADMIN_DIR=%ORACLE_INSTALL_DIR%\app\oracle\admin\XE
SET ORADATA_DIR=%ORACLE_INSTALL_DIR%\oradata\XE
SET DBS_DIR=%ORACLE_INSTALL_DIR%\app\oracle\product\10.2.0\server\dbs
SET USERNAME=aaa
SET PASSWORD=bbb
REM // LOGファイル名用に日付の取得 //
FOR /F "tokens=1,2,3 delims=/, " %%i IN ('date /t') DO SET SYSDATE=%%i%%j%%k
REM // 「Win31J」に文字変換 //
ECHO 文字変換開始 %date% %time% >> "C:\install%SYSDATE%.log"
"%ORACLE_BIN_DIR%\sqlplus" %USERNAME%/%PASSWORD% as sysdba @C:\TEMP\Drop.sql >> "C:\install%SYSDATE%.log"
IF ERRORLEVEL 1 GOTO ExceptionError
ECHO DBユーザー作成開始 %date% %time% >> "C:\install%SYSDATE%.log"
"%ORACLE_BIN_DIR%\sqlplus" %USERNAME%/%PASSWORD% as sysdba @C:\TEMP\CreateDB.sql >> "C:\install%SYSDATE%.log"
IF ERRORLEVEL 1 GOTO ExceptionError
お礼
ご回答いただきありがとうございました。