REM ## ファイル名 ⇒ 「Serverログイン用.bat」
@echo offREM ==============================
REM ■ DOSプロンプト画面サイズ
mode con: cols=110 lines=60
REM ==============================
echo =================================
echo 【サーバ_LOGIN.bat】を開始します
echo =================================
Timeout 1
REM ## ローカル変数開始 遅延環境変数
setlocal ENABLEDELAYEDEXPANSION
:MENU_Zero
cls
color 17
REM ## 文字コード設定
chcp 932
REM ## chcp 65001
REM ==============================
REM ## 変数定義
REM ==============================
set COUNT=0
set MenuLINE=0
set SkipLINE=0
set Get_IP=
set Get_HOST=
set RDP_User=
set RDP_Password=
set TERATERM_User=
set TERATERM_Password=
REM ## TTLファイル格納,INIファイル格納
set CURRENT_DIR=%CD%
set RDP_File=%CURRENT_DIR%\TTL_LOGIN.ttl
set TTL_File=%CURRENT_DIR%\TTL_LOGIN.ttl
set INI_File=%CURRENT_DIR%\TERATERM_2.INI
REM ## LSTファイル格納
set TargetFILE_01=%CURRENT_DIR%\RemoteDesktop.lst
set TargetFILE_02=%CURRENT_DIR%\SSHconnection.lst
REM ## TeraTermマクロのEXEファイル格納
REM ╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋
REM ╋↓ 環境に合わせてパスを設定 ↓╋
cd /d "C:\Program Files (x86)\teraterm"
REM ╋↑ 環境に合わせてパスを設定 ↑╋
REM ╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋
set Change_DIR=%CD%
set Macro_EXE=%Change_DIR%\ttpmacro.exe
REM ## カレントに戻る
cd /d %CURRENT_DIR%
REM ## パラメータ表示
echo -----------------------------
echo CURRENT : %CURRENT_DIR% ⇒ ■ カレントディレクトリ
echo RDP File : %RDP_File% ⇒ ■ RDP用Script
echo TTL File : %TTL_File% ⇒ ■ SSH用Script
echo INI File : %INI_File% ⇒ ■ 設定iniファイル
echo LST File : %TargetFILE_01% ⇒ ■ Windowsサーバ情報
echo LST File : %TargetFILE_02% ⇒ ■ Linuxサーバ情報
echo TeraTerm : %Change_DIR% ⇒ ■ TeraTerm格納先フォルダ
echo EXE File : %Macro_EXE% ⇒ ■ マクロ実行ファイル
echo -----------------------------
REM ## Timeout 2
Timeout 1
REM ## pause
REM ★★★★★★★★★★★★★★★
REM ## メニュー表示
:MENU_START
cls
color 0f
REM ## 変数リセット
set COUNT=0
set SkipLINE=0
REM ╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋
REM ╋ メニュー画面スキップ/非表示 ╋
goto MENU_START_02
REM ╋ メニュー画面スキップ/非表示 ╋
REM ╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋
echo *****************************
echo 【メニュー】
echo *****************************
echo * MENU
echo *
REM ## echo * 【0】: 読込ファイルの表示
echo * 【1】: リモートデスクトップ 接続
echo * 【2】: Tera Term 接続
echo *
echo * 【99】: 終了
echo *
echo *****************************
set USR_INPUT_STR=
set /P USR_INPUT_STR="番号を入力してください: "
if ""%USR_INPUT_STR%""=="""" GOTO MENU_START
if %USR_INPUT_STR%==0 (goto MENU_Zero)
if %USR_INPUT_STR%==1 (goto MENU_START_01)
if %USR_INPUT_STR%==2 (goto MENU_START_02)
if %USR_INPUT_STR%==99 (goto MENU_END)
goto MENU_ERROR
REM ★★★★★★★★★★★★★★★
REM ## リモートデスクトップ接続
:MENU_START_01
REM ───────────────
REM ## パラメータの設定
set READ_DATA=
set READ_DATA=%TargetFILE_01%
set FUNCTION_NAME=
set FUNCTION_NAME=:RDP
REM ## パラメータを共通処理に引き渡す
goto MENU_COMMON
REM ★★★★★★★★★★★★★★★
REM ## テラターム接続
:MENU_START_02
REM ───────────────
REM ## パラメータの設定
set READ_DATA=
set READ_DATA=%TargetFILE_02%
set FUNCTION_NAME=
set FUNCTION_NAME=:TERATERM
REM ## パラメータを共通処理に引き渡す
goto MENU_COMMON
REM ★★★★★★★★★★★★★★★
REM ## 空ENTERキー無効(メニュー再表示)
:MENU_COMMON_R
cls
color 17
echo *****************************
echo 空ENTERキー無効(メニュー再表示)
echo *****************************
Timeout 1
REM ★★★★★★★★★★★★★★★
REM ## 共通処理
:MENU_COMMON
cls
REM ## 接続メニュー判定
if %FUNCTION_NAME%==:RDP (
color f0
echo *****************************
echo 【リモートデスクトップ接続先】
echo *****************************
echo * RDP MENU
echo *
)
if %FUNCTION_NAME%==:TERATERM (
color 0e
echo *****************************
echo 【TeraTerm接続先】
echo *****************************
echo * TERATERM MENU
echo *
)
REM ## LSTファイル読み込み
for /f "tokens=1,2,3,4,5,6,7,8,9 delims=," %%a in (%READ_DATA%) do (
REM ## 行数
set /a COUNT=!COUNT!+1
REM ## メニュー表示
echo * 【!COUNT!】 : %%a %%c 【ホスト名:%%b】 【ユーザ名:%%h】
)
REM ## メニュー行数セット
set /a MenuLINE=%COUNT%
REM ## 変数リセット
set COUNT=0
REM ───────────────
echo * 【0】 : メニューに戻る
echo * 【99】 : 終了
echo *
echo *****************************
set USR_INPUT_STR=
set /P USR_INPUT_STR="番号を入力してください: "
if ""%USR_INPUT_STR%""=="""" GOTO MENU_COMMON_R
if %USR_INPUT_STR%==0 (goto MENU_START)
if %USR_INPUT_STR%==99 (goto MENU_END)
REM ## メニューに無い数はエラー
if %USR_INPUT_STR% gtr %MenuLINE% (goto MENU_ERROR)
REM ───────────────
REM ## LSTファイル読み込み⇒対象抽出⇒関数処理
REM ## 入力値を変数にセット
set SkipLINE=%USR_INPUT_STR%
if %SkipLINE%==1 (
for /f "tokens=1,2,3,4,5,6,7,8,9 delims=," %%a in (%READ_DATA%) do (
set /a COUNT=!COUNT!+1
set Get_IP=%%a
set Get_HOST=%%b
set Get_VALUE=%%d
set GET_AUTH=%%f
set GET_User=%%h
set GET_Password=%%i
REM ## ループ終了
goto SkipFOR
)
) else ( set /a SkipLINE=%SkipLINE%-1 )
)
REM ## echo %SkipLINE% LINE --- SKIP
REM ## 指定行数までスキップして読み込む
for /f "tokens=1,2,3,4,5,6,7,8,9 delims=, skip=%SkipLINE%" %%a in (%READ_DATA%) do (
set /a COUNT=!COUNT!+1
set Get_IP=%%a
set Get_HOST=%%b
set Get_VALUE=%%d
set GET_AUTH=%%f
set GET_User=%%h
set GET_Password=%%i
REM ## ループ終了
goto SkipFOR
)
REM ───────────────
REM ## 関数呼び出し
:SkipFOR
echo ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
echo ┃ -- ログイン方法 -- %FUNCTION_NAME% 接続 %Get_HOST%
echo ┃────────────────────────────────────
echo ┃ [ %USR_INPUT_STR% ]【 %Get_IP%:%GET_User% 】
echo ┃────────────────────────────────────
echo ┃ 【 引数の値 ( %GET_Password% / %GET_AUTH% / %Get_VALUE% )】
echo ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
pause
if not %COUNT%==0 (call %FUNCTION_NAME% %Get_IP% %GET_User% %GET_Password% %GET_AUTH% %Get_VALUE% %Get_HOST%)
REM ## 戻り値判定
if %errorlevel%==1 (goto MENU_START)
REM ───────────────
goto MENU_ERROR
REM ▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼
REM ## 関数 RDP
:RDP
cls
color 8f
set xLOGINxIP=%1
set xLOGINxUSER=%2
set PS_Args=%3
set xLOGINxAUTH=%4
set xLOGINxVALUE=%5
set xLOGIN_HOST=%6
echo 【ログイン先IPアドレス:%xLOGINxIP%】【ユーザ名:%xLOGINxUSER%】【ホスト名:%xLOGIN_HOST%】
echo 【対象ファイル:%PS_Args%】【認証方式:%xLOGINxAUTH%】【値:%xLOGINxVALUE%】
echo -----------------------------
REM pause
REM Timeout 1
REM ───────────────
REM ## リモートデスクトップ接続マクロ実行
cd /d %Change_DIR%
ttpmacro.exe %RDP_File% %xLOGINxIP% %xLOGINxUSER% %PS_Args% %INI_File% %xLOGINxAUTH% %xLOGINxVALUE% %xLOGIN_HOST%
REM ───────────────
REM ## 変数初期化、戻り値1をセットして戻る
set xLOGINxIP=
set xLOGINxUSER=
set PS_Args=
set xLOGINxAUTH=
set xLOGINxVALUE=
exit /b 1
REM ▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼
REM ## 関数 TERATERM
:TERATERM
cls
color 0f
set xLOGINxIP=%1
set xLOGINxUSER=%2
set PS_Args=%3
set xLOGINxAUTH=%4
set xLOGINxVALUE=%5
set xLOGIN_HOST=%6
echo 【ログイン先IPアドレス:%xLOGINxIP%】【ユーザ名:%xLOGINxUSER%】【ホスト名:%xLOGIN_HOST%】
echo 【対象ファイル:%PS_Args%】【認証方式:%xLOGINxAUTH%】【値:%xLOGINxVALUE%】
echo -----------------------------
REM pause
REM Timeout 1
REM ───────────────
REM ## TERATERM接続マクロ実行
cd /d %Change_DIR%
ttpmacro.exe %TTL_File% %xLOGINxIP% %xLOGINxUSER% %PS_Args% %INI_File% %xLOGINxAUTH% %xLOGINxVALUE% %xLOGIN_HOST%
REM ───────────────
REM ## 変数初期化、戻り値1をセットして戻る
set xLOGINxIP=
set xLOGINxUSER=
set PS_Args=
set xLOGINxAUTH=
set xLOGINxVALUE=
exit /b 1
REM ▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼
REM ## エラー処理
:MENU_ERROR
cls
color 0c
echo *****************************
echo 入力エラー(メニューに戻ります)
echo *****************************
Timeout 1
goto MENU_START
REM ▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼
REM ## 終了処理
:MENU_END
cls
color 0a
echo *****************************
echo 【 終 了 】
echo *****************************
REM ## ローカル変数終了
endlocal
Timeout 1
exit
PR