忍者ブログ

◆当blogは、Linuxサーバ構築する際の実際の設定手順を個人的メモとして記載しております。LinuC試験の役に立つ情報があるかも…?

LinuC(Linux技術者認定資格)&リナックスサーバ構築設定事例

   

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【BAT】TTL呼び出しバッチ【改】

@echo off
REM ## ローカル変数開始 遅延環境変数
setlocal ENABLEDELAYEDEXPANSION
REM ==============================
REM ## 変数定義
REM ==============================
set COUNT=0
set MenuLINE=0
set SkipLINE=0
set Get_IP=
set RDP_User=
set RDP_Password=
set TERATERM_User=
set TERATERM_Password=
REM ## TTLファイル格納,INIファイル格納
set CURRENT_DIR=%CD%
set RDP_File=%CURRENT_DIR%\RDP_LOGON.ttl
set TTL_File=%CURRENT_DIR%\ServerLOGIN.ttl
set INI_File=%CURRENT_DIR%\TERATERM_2.INI
REM ## CSVファイル格納
set TargetFILE_01=%CURRENT_DIR%\RemoteDesktop.csv
set TargetFILE_02=%CURRENT_DIR%\SSHconnection.csv
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 ## 一時的に実行ファイルのパス追加
REM ## set path=%path%;%Macro_EXE%
color 17
REM ## パラメータ表示
echo -----------------------------
echo CURRENT  : %CURRENT_DIR% --- CURRENT Path
echo RDP File : %RDP_File% --- RDP File
echo TTL File : %TTL_File% --- TTL File
echo INI File : %INI_File% --- NII File
echo CSV File : %TargetFILE_01% --- RDP csv
echo CSV File : %TargetFILE_02% --- SSH csv
echo TeraTerm : %Change_DIR% --- TeraTerm Path
echo EXE File : %Macro_EXE% --- EXE File
echo -----------------------------
Timeout 1
pause
REM ★★★★★★★★★★★★★★★
REM ## メニュー表示
:MENU_START
cls
color 0f
REM ## 変数リセット
set COUNT=0
set SkipLINE=0
echo *****************************
echo 【メニュー】
echo *****************************
echo * MENU
echo *
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%==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
cls
color f0
echo *****************************
echo 【リモートデスクトップ接続先】
echo *****************************
echo * RDP MENU
echo *
REM ───────────────
REM ## CSVファイル読み込み
for /f "tokens=1,2,3,4,5,6,7,8,9 delims=," %%a in (%TargetFILE_01%) do (
  REM ## 行数
  set /a COUNT=!COUNT!+1
  REM ## RDP用メニュー表示
  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_START_01
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 ## CSVファイル読み込み⇒対象抽出⇒関数処理
REM ## 入力値を変数にセット
set SkipLINE=%USR_INPUT_STR%
if %SkipLINE%==1 (
  for /f "tokens=1,2,3,4,5,6,7,8,9 delims=," %%a in (%TargetFILE_01%) do (
    set /a COUNT=!COUNT!+1
    set Get_IP=%%a
    set RDP_User=%%h
    set RDP_Password=%%i
    REM ## ループ終了
    goto forSkip1
  )
) 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 (%TargetFILE_01%) do (
  set /a COUNT=!COUNT!+1
  set Get_IP=%%a
  set RDP_User=%%h
  set RDP_Password=%%i
  REM ## ループ終了
  goto forSkip1
)
REM ───────────────
REM ## 関数呼び出し
:forSkip1
echo ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
echo ┃ [ %USR_INPUT_STR% ]【 %Get_IP%:%RDP_User% 】
echo ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
pause
if not %COUNT%==0 (call :RDP %Get_IP% %RDP_User% %RDP_Password%)
REM ## 戻り値判定
if %errorlevel%==1 (goto MENU_START)
REM ───────────────
goto MENU_ERROR
REM ★★★★★★★★★★★★★★★
REM ## テラターム接続
:MENU_START_02
cls
color 0e
echo *****************************
echo 【TeraTerm接続先】
echo *****************************
echo * TERATERM MENU
echo *
REM ───────────────
REM ## CSVファイル読み込み
for /f "tokens=1,2,3,4,5,6,7,8,9 delims=," %%a in (%TargetFILE_02%) do (
  REM ## 行数
  set /a COUNT=!COUNT!+1
  REM ## TeraTerm用メニュー表示
  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_START_02
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 ## CSVファイル読み込み⇒対象抽出⇒関数処理
REM ## 入力値を変数にセット
set SkipLINE=%USR_INPUT_STR%
if %SkipLINE%==1 (
  for /f "tokens=1,2,3,4,5,6,7,8,9 delims=," %%a in (%TargetFILE_02%) do (
    set /a COUNT=!COUNT!+1
    set Get_IP=%%a
    set Get_VALUE=%%d
    set TERATERM_AUTH=%%f
    set TERATERM_User=%%h
    set TERATERM_Password=%%i
    REM ## ループ終了
    goto forSkip2
  )
) 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 (%TargetFILE_02%) do (
  set /a COUNT=!COUNT!+1
  set Get_IP=%%a
  set Get_VALUE=%%d
  set TERATERM_AUTH=%%f
  set TERATERM_User=%%h
  set TERATERM_Password=%%i
  REM ## ループ終了
  goto forSkip2
)
REM ───────────────
REM ## 関数呼び出し
:forSkip2
echo ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
echo ┃ [ %USR_INPUT_STR% ]【 %Get_IP%:%TERATERM_User% 】
echo ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
pause
if not %COUNT%==0 (call :TERATERM %Get_IP% %TERATERM_User% %TERATERM_Password% %TERATERM_AUTH% %Get_VALUE%)
REM ## 戻り値判定
if %errorlevel%==1 (goto MENU_START)
REM ───────────────
goto MENU_ERROR
REM ▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼
REM ## 関数 RDP
:RDP
cls
color 8f
set xRDPxIP=%1
set xRDPxUSER=%2
set PS_Args=%3
echo 【ログイン先IPアドレス:%xRDPxIP%】【ユーザ名:%xRDPxUSER%】
echo 【対象ファイル:%PS_Args%】
REM ───────────────
REM ## リモートデスクトップ接続マクロ実行
cd /d %Change_DIR%
ttpmacro.exe %RDP_File% %xRDPxIP% %xRDPxUSER% %PS_Args%
REM ───────────────
REM ## 変数初期化、戻り値1をセットして戻る
set xRDPxIP=
set xRDPxUSER=
set PS_Args=
set PS_VALUE=
set xRDPxPASSWORD=
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
echo 【ログイン先IPアドレス:%xLOGINxIP%】【ユーザ名:%xLOGINxUSER%】
echo 【対象ファイル:%PS_Args%】【認証方式:%xLOGINxAUTH%】【値:%xLOGINxVALUE%】
REM ───────────────
REM ## TERATERM接続マクロ実行
cd /d %Change_DIR%
ttpmacro.exe %TTL_File% %xLOGINxIP% %xLOGINxUSER% %PS_Args% %INI_File% %xLOGINxAUTH% %xLOGINxVALUE%
REM ───────────────
REM ## 変数初期化、戻り値1をセットして戻る
set xLOGINxIP=
set xLOGINxUSER
set PS_Args=
set PS_VALUE=
set xLOGINxPASSWORD=
exit /b 1
REM ▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼
REM ## エラー処理
:MENU_ERROR
cls
color 0c
echo *****************************
echo 入力エラー(メニューに戻ります)
echo *****************************
Timeout 2
goto MENU_START
REM ▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼
REM ## 終了処理
:MENU_END
cls
color 0a
echo *****************************
echo 【 終 了 】
echo *****************************
REM ## ローカル変数終了
endlocal
Timeout 2
exit
PR

更新日付

05 2025/06 07
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

RECOMMEND

プロフィール

HN:
Account
HP:
性別:
非公開
職業:
--- NODATA ---
趣味:
--- NODATA ---
自己紹介:
◆当blogは、Linuxサーバ構築する際の実際の設定手順を個人的メモとして記載しております。LinuC試験の役に立つ情報があるかも…?

リンク

<<【TTL】PuTTY接続の例  | HOME |  【TTL】RDP接続の例>>
Copyright ©  -- LinuC(Linux技術者認定資格)&リナックスサーバ構築設定事例 --  All Rights Reserved
Design by CriCri / Photo by Melonenmann / powered by NINJA TOOLS / 忍者ブログ / [PR]