- 印刷する
スクリプト仕様説明
- 印刷する
スクリプトファイルの構成例や記述形式、コマンドの利用方法について説明します。
スクリプトファイルの基本的な構成例
オートログインスクリプトに共通する基本的な構成例を下記に示します。
ファイル仕様
スクリプトファイルの仕様は、下表の通りです。
スクリプトファイル仕様
No | 仕様 | 内容 |
1 | ファイル名 | 拡張子(.sso)を含めて64文字以内の文字列で指定します。 |
2 | ファイル拡張子 | .sso 例)RDP_DR.sso |
3 | 文字コード | UTF-8(BOMなし) |
4 | 改行コード | CR+LF(0x0D+0x0A) |
5 | コメント行 | #(半角シャープ) |
6 | 1行に記載出来るコマンド数 | 1コマンド 1コマンドを複数行に分割して記載する事は出来ません。 |
7 | コマンド引数 | スペースを含む値をコマンドの引数とする場合、値を半角ダブルクォーテーション(")で囲んで使用します。 例)”C:\Program Files\teraterm\teraterm.exe” |
8 | スクリプト変数 | 各コマンドで使用する文字列に、特殊文字列を指定する事で、iDoperationで管理されている値を利用する事が出来ます。 |
9 | ラベル | :(半角コロン) gotoコマンドで指定する処理ジャンプ先を記述します。 半角コロンに続いて任意の半角文字で記述します。 例):sso_exec_failure01 |
スクリプト変数
スクリプトファイル内ではスクリプト変数と呼ばれる特殊文字列が使用出来ます。
以下、スクリプト変数の一覧と概要について説明します。
No | 変数名(*1) | 概要 |
1 | {LOGINID} | iDoperationログインID |
2 | {LOGINPWD} | 上記ログインIDのパスワード |
3 | {IPADDR} | オートログイン対象ターゲットのIPアドレス/ホスト名 |
4 | {TGDOMAINNAME} | オートログイン対象ターゲットのドメイン名 |
5 | {ACCOUNT} | オートログイン対象アカウント名 |
6 | {PASSWORD} | 上記アカウントのパスワード |
7 | {ROOTPWD} | 昇格アカウントのパスワード |
8 | {DOMAINIP} | ドメインターゲットのIPアドレス/ホスト名 |
9 | {DOMAINNAME} | ドメイン名 |
10 | {DOMAINPWD} | 上記アカウントのパスワード |
11 | {POSTDOMAINNAME} | ドメインアカウントを使用する際のユーザ@ドメイン名の「@ドメイン名」部分 |
12 | {PASSPHRASE} | 秘密鍵ファイルのパスフレーズ |
13 | {PORT} | オートログイン対象ターゲットのポート番号 |
14 | {DBNAME} | データベース:データベース名(SQL Server)/サービス名(Oracle) |
15 | {DBID} | データベース:インスタンス名(SQL Server)/DBID(Oracle) |
16 | {DBSID} | データベース:SID(Oracle) |
17 | {%ENVNAME} | クライアント端末の環境変数(*2) |
18 | {USERTEMP} | Tempディレクトリ(User)のパス |
19 | {INSTALL} | iDoperation Clientインストールディレクトリのパス |
20 | {TTERM} | TeraTermインストールディレクトリのパス |
21 | {FFFTP} | FFFTPインストールディレクトリのパス |
22 | {WINSCP} | WinSCPインストールディレクトリのパス |
23 | {VMC} | VMWare Clientインストールディレクトリのパス |
24 | {ACTYPE} | オートログイン対象アカウントの種別 (Microsoft Entra ID) 1:メンバ、2:ゲスト (SQL Server、Amazon RDS for SQL Server) 1:SQL Server認証、2:Windows認証 |
25 | {APPNUM} | オートログインを申請した申請書の番号 |
(*1)スクリプト変数記述時は大文字・小文字は区別されません。{USERID}と{userid}は同じスクリプト変数として扱われます。
(*2)「ENVNAME」部分は実際の環境変数名を記述します。
コマンド仕様
オートログインスクリプト中で利用出来るコマンドの主な機能は次の通りです。
No | 機能 | コマンド名 | 概要 |
1 | アプリケーション起動 | exec | GUIプログラム実行 |
waitexec | GUIプログラム実行(終了待機) | ||
cexec | CUIプログラム実行 | ||
waitcexec | CUIプログラム実行(終了待機) | ||
2 | ウィンドウ制御 | waitwindow | ウィンドウ表示待機 |
focus | ウィンドウフォーカス | ||
3 | マウス制御 | mouselock | マウス入力禁止/禁止解除 |
click | マウスクリック | ||
movemouse | マウス移動 | ||
4 | IME制御 | imeon | IME全角入力モード |
imeoff | IME半角入力モード | ||
imerestore | IME状態復元 | ||
5 | キーボード制御 | sendkeys | キーボードイベント送信 |
keyboardlock | キーボード入力禁止/禁止解除 | ||
6 | ファイル操作 | download | 秘密鍵ダウンロード |
delete | ファイル削除 | ||
decrypt | ファイル復号 | ||
7 | スクリプト処理 | cd | カレントディレクトリ変更 |
wait | 処理待機 | ||
messagebox | メッセージボックス表示 | ||
strcmp | 文字列比較 | ||
isnull | スクリプト変数NULLチェック | ||
if | 処理分岐 | ||
goto | 処理ジャンプ | ||
end | スクリプト終了 |
※コマンド引数にスペースが含まれる場合、値を半角ダブルクォーテーション(”)で囲む必要があります。
アプリケーション起動
GUIプログラム実行
コマンド | exec | ||
説明 | 指定したプログラム(GUIアプリケーション)を実行します。 | ||
書式 | exec program_filename {program_args…} | ||
引数 | program_filename 【必須】 | 実行するプログラムのパスを指定します。 絶対パス・相対パス(*1)ともに指定出来ます。 環境変数PATHが通っているプログラムはファイル名のみで指定出来ます。 | |
program_args | 引数program_filenameで指定したプログラムに渡すパラメータを指定します。パラメータの数、内容は実行対象のプログラムに依存します。 | ||
戻り値 | 0 | 成功 | |
1 | コマンド実行失敗 | ||
2 | パラメータ不正 | ||
3 | パラメータ不足 | ||
サンプル | 【TeraTerm】 exec "{TTERM}ttermpro.exe" {IPADDR}:22 /ssh /2 /auth=password /user={ACCOUNT} /passwd="{PASSWORD}" |
(*1) 相対パスの基準となるカレントディレクトリは<Clientインストールフォルダ\bin>です。cdコマンドが先に実行されている場合は、cdコマンドで指定したパスがカレントディレクトリになります。
GUIプログラム実行(終了待機)
コマンド | waitexec | ||
説明 | 指定したプログラム(GUIアプリケーション)を実行します。 実行したプロセスが終了するまで待機し、終了後次の処理へ進みます。 | ||
書式 | waitexec program_filename {program_args…} | ||
引数 | program_filename 【必須】 | 実行するプログラムのパスを指定します。 絶対パス・相対パス(*1)ともに指定出来ます。 環境変数PATHが通っているプログラムはファイル名のみで指定出来ます。 | |
program_args | 引数program_filenameで指定したプログラムに渡すパラメータを指定します。パラメータの数、内容は実行対象のプログラムに依存します。 | ||
戻り値 | 0 | 成功 | |
1 | コマンド実行失敗 | ||
2 | パラメータ不正 | ||
3 | パラメータ不足 | ||
サンプル | 【リモートデスクトップ接続】 waitexec wscript.exe //B ".\bin\rdp\RDPRun.vbe" ".\bin\rdp\idoperation.rdp" "{IPADDR}" "" "{ACCOUNT}" "{PASSWORD}" |
(*1) 相対パスの基準となるカレントディレクトリは<Clientインストールフォルダ\bin>です。cdコマンドが先に実行されている場合は、cdコマンドで指定したパスがカレントディレクトリになります。
CUIプログラム実行
コマンド | cexec | ||
説明 | 指定したプログラム(CUIアプリケーション)を実行します。 | ||
書式 | cexec program_filename {program_args…} | ||
引数 | program_filename 【必須】 | 実行するプログラム(コンソールアプリケーション)のパスを指定します。 絶対パス・相対パス(*1)ともに指定出来ます。 環境変数PATHが通っているプログラムはファイル名のみで指定出来ます。 | |
program_args | 引数program_filenameで指定したプログラムに渡すパラメータを指定します。パラメータの数、内容は実行対象のプログラムに依存します。 | ||
戻り値 | 0 | 成功 | |
1 | コマンド実行失敗 | ||
2 | パラメータ不正 | ||
3 | パラメータ不足 | ||
サンプル | 【SQL*Plus】 cexec sqlplus {ACCOUNT}/{PASSWORD}@{IPADDR}:{PORT}/{DBNAME} |
CUIプログラム実行(終了待機)
コマンド | waitcexec | ||
説明 | 指定したプログラム(CUIアプリケーション)を実行します。 実行したプロセスが終了するまで待機し、終了後次の処理へ進みます。 | ||
書式 | waitcexec program_filename {program_args…} | ||
引数 | program_filename 【必須】 | 実行するプログラム(コンソールアプリケーション)のパスを指定します。 絶対パス・相対パス(*1)ともに指定出来ます。 環境変数PATHが通っているプログラムはファイル名のみで指定出来ます。 | |
program_args | 引数program_filenameで指定したプログラムに渡すパラメータを指定します。パラメータの数、内容は実行対象のプログラムに依存します。 | ||
戻り値 | 0 | 成功 | |
1 | コマンド実行失敗 | ||
2 | パラメータ不正 | ||
3 | パラメータ不足 | ||
サンプル | 【SQL*Plus】 waitcexec sqlplus {ACCOUNT}/{PASSWORD}@{IPADDR}:{PORT}/{DBNAME} |
(*1) 相対パスの基準となるカレントディレクトリは<Clientインストールフォルダ\bin>です。cdコマンドが先に実行されている場合は、cdコマンドで指定したパスがカレントディレクトリになります。
ウィンドウ制御
ウィンドウ表示待機
コマンド | waitwindow | ||
説明 | 指定したウィンドウが表示されるまでスクリプト処理を待機します。 | ||
書式 | waitwindow window_title {maxtime} | ||
引数 | window_title 【必須】 | 操作するウィンドウのタイトルを文字列で指定します。 スクリプト変数を指定する事も可能です。 | |
maxtime | 最大待機時間(単位:ミリ秒)を指定します。 この値を指定しない場合、最大待機時間はデフォルト値(10000ミリ秒=10秒)となります。 | ||
戻り値 | 0 | 成功 | |
2 | パラメータ不正 | ||
3 | パラメータ不足 | ||
4 | ウィンドウ出現待ちタイムアウト | ||
サンプル | 【maxtime指定あり】 waitwindow "リモート デスクトップ接続" 3000 |
ウィンドウフォーカス
コマンド | focus | ||
説明 | 指定したウィンドウをアクティブにします。 書式(1) タイトルが指定文字列と一致したウィンドウをアクティブにします。ウィンドウ特定のため、所有モジュール名を指定する事も可能です。 書式(2) タイトルが指定文字列と一致し、かつ指定コントロール内の文字列と比較対象文字列が一致するウィンドウをアクティブにします。 | ||
書式 | (1) focus window_title {module_name} (2) focus window_title automation_ID string | ||
(1)引数 | window_title 【必須】 | アクティブにするウィンドウのタイトルを文字列で指定します。 文字列にはワイルドカード(*)を使用出来ます。スクリプト変数を指定する事も可能です。 | |
module_name | アクティブにするウィンドウを特定するための所有モジュール名を絶対パスで指定します。
大文字/小文字は区別されません。 "C:¥Program Files"と"C:¥Progra~1"等、ロングファイル名/ショートファイル名は区別されます。 | ||
(2)引数 | window_title 【必須】 | アクティブにするウィンドウのタイトルを文字列で指定します。 文字列にはワイルドカード(*)を使用出来ます。スクリプト変数を指定する事も可能です。 | |
automation_ID | 比較対象文字列が存在するコントロールのIDを指定します。 主要オートメーションIDについては『付録』-『主要オートメーションIDリスト』を参照してください。 | ||
string | 比較する文字列を指定します。 スクリプト変数を指定する事も可能です。 | ||
戻り値 | 0 | 成功 | |
1 | コマンド実行失敗 | ||
3 | パラメータ不足 | ||
200 | 比較文字列不一致 | ||
サンプル | 【ウィンドウタイトルのみ、ワイルドカード使用】 focus "{IPADDR}* - * VT"
【モジュール名指定】 focus "リモート デスクトップ接続" "C:\Windows\System32\mstsc.exe"
【コントロールID指定】 focus "リモート デスクトップ接続" 5011 "コンピューター(C)" |
マウス制御
マウス入力禁止/禁止解除
コマンド | mouselock | |||
説明 | ユーザによるマウスの入力について禁止または許可(禁止解除)を設定します。 | |||
書式 | mouselock (operation) | |||
| 引数 | operation 【いずれか必須】 | 制御内容を指定します。 | |
on | 禁止 | |||
off | 許可(禁止解除) | |||
戻り値 | 0 | 成功 | ||
2 | パラメータ不正 | |||
3 | パラメータ不足 | |||
サンプル | 【マウス入力禁止】 mouselock on |
マウスクリック
コマンド | click | |||
説明 | マウスクリックを行います。 | |||
書式 | click (button) {operation} | |||
| 引数 | button 【いずれか必須】 | クリックするマウスボタンを指定します。 | |
left | 左クリック | |||
right | 右クリック | |||
operation | クリック動作を指定します。 | |||
(指定なし) | シングルクリック | |||
double | ダブルクリック | |||
戻り値 | 0 | 成功 | ||
2 | パラメータ不正 | |||
3 | パラメータ不足 | |||
サンプル | 【右シングルクリック】 click right
【左ダブルクリック】 click left double |
マウス移動
コマンド | movemouse | ||
説明 | 指定した座標にマウスを移動します。 | ||
書式 | movemouse x y | ||
引数 | x 【必須】 | マウスの移動先を座標で指定します。 x=0がデスクトップの左上を指します。 | |
y 【必須】 | マウスの移動先を座標で指定します。 y=0がデスクトップの左上を指します。 | ||
戻り値 | 0 | 成功 | |
2 | パラメータ不正 | ||
3 | パラメータ不足 | ||
サンプル | 【マウス移動】 movemouse 150 200 |
IME制御
IME全角入力モード
コマンド | imeon | ||
説明 | 最前面ウィンドウに対してIMEを「全角入力モード」に設定します。 | ||
書式 | imeon | ||
引数 | なし | ||
戻り値 | 0 | 成功 | |
1 | コマンド実行失敗 | ||
サンプル | 【IMEオン】 imeon |
IME半角入力モード
コマンド | imeoff | ||
説明 | 最前面ウィンドウに対してIMEを「半角入力モード」に設定します。
sendkeysコマンドを使用する場合、その直前に指定してください。 | ||
書式 | imeoff | ||
引数 | なし | ||
戻り値 | 0 | 成功 | |
1 | コマンド実行失敗 | ||
サンプル | 【IMEオフ】 imeoff |
IME状態復元
コマンド | imerestore | ||
説明 | imeoffコマンドの実行により変更された最前面ウィンドウのIMEの状態をimeoffコマンド実行前の状態に戻します。
imeoffコマンド実行後に最前面ウィンドウが変更された場合、imerestoreを実行してもIMEの状態はimeoffコマンド実行前の状態には戻りません。
sendkeysコマンドを使用する場合、その直後に指定してください。 | ||
書式 | imerestore | ||
引数 | なし | ||
戻り値 | 0 | 成功 | |
1 | コマンド実行失敗 | ||
サンプル | 【IME状態復元】 imerestore |
キーボード制御
キーボードイベント送信
コマンド | sendkeys | |||
説明 | 最前面ウィンドウにキーボード入力を行います。 | |||
書式 | sendkeys keystring {flag} | |||
| 引数 | keystring 【必須】 | 入力するキーボードボタンを指定します(複数指定可能) キーボードキー[A]が押下された事を表したい時はA という文字を指定します。スクリプト変数も指定可能です。
記号「{」および「}」を送信する事は出来ません。 日本語キーボード使用時には記号「^」を送信する事は出来ません。
文字で表せないコードは{ }で囲み、下表のように指定します。 | |
BACKSPACE | {BACKSPACE}、{BS}、または{BKSP} | |||
BREAK | {BREAK} | |||
CAPS LOCK | {CAPSLOCK} | |||
DEL | {DELETE}または{DEL} | |||
DOWN ARROW | {DOWN} | |||
END | {END} | |||
ENTER | {ENTER}または~ | |||
ESC | {ESC} | |||
HELP | {HELP} | |||
HOME | {HOME} | |||
INS | {INSERT}または{INS} | |||
LEFT ARROW | {LEFT} | |||
NUM LOCK | {NUMLOCK} | |||
PAGE DOWN | {PGDOWN} | |||
PAGE UP | {PGUP} | |||
PRINT SCREEN | {PRTSC}(予約) | |||
RIGHT ARROW | {RIGHT} | |||
SCROLL LOCK | {SCROLLLOCK} | |||
TAB | {TAB} | |||
UP ARROW | {UP} | |||
F1-F16 | {F1}…{F16} | |||
加算記号 | {ADD} | |||
減算記号 | {SUBTRACT} | |||
乗算記号 | {MULTIPLY} | |||
除算記号 | {DIVIDE} | |||
SHIFT(左右区別なし) | + | |||
CTRL(左右区別なし) | ^ | |||
ALT(左右区別なし) | % | |||
左SHIFT | +< | |||
左CTRL | ^< | |||
左ALT | %< | |||
右SHIFT | +> | |||
右CTRL | ^> | |||
右ALT | %> | |||
flag | sendkeys内での特殊文字(+、%、~、(、))を本来の文字として使用するか、特殊文字として使用するかを指定します。 | |||
true | 本来の文字として使用 | |||
false | 特殊文字として使用 | |||
(指定なし) | falseと同様 | |||
戻り値 | 0 | 成功 | ||
2 | パラメータ不正 | |||
3 | パラメータ不足 | |||
サンプル | 【Alt+Nボタン】 sendkeys %N
【CAPS LOCK+スクリプト変数(パスワード)】 sendkeys {CAPSLOCK}{PASSWORD}
【『+test』を送信】 sendkeys +test true
【『Test』を送信】 sendkeys +test false |
キーボード入力禁止/入力解除
コマンド | keyboardlock | |||
説明 | ユーザによるキーボード入力について禁止または許可(禁止解除)を設定します。 | |||
書式 | keyboardlock (operation) | |||
| 引数 | operation 【いずれか必須】 | 制御内容を指定します。 | |
on | 禁止 | |||
off | 許可(禁止解除) | |||
戻り値 | 0 | 成功 | ||
2 | パラメータ不正 | |||
3 | パラメータ不足 | |||
サンプル | 【キーボード入力禁止】 keyboardlock on |
ファイル操作
秘密鍵ファイルダウンロード
コマンド | download | |||
説明 | 秘密鍵ファイルをダウンロードします。 ダウンロード先はユーザTempフォルダ(*1)となります。 | |||
書式 | download account type | |||
引数 | account 【必須】 | オートログインに利用する秘密鍵ファイルが紐づけられているアカウント名を指定します。 ここで指定したアカウント名が保存されるファイル名となります。 | ||
type 【必須】 | 秘密鍵ファイルの種別を指定します。 指定値の意味は下記表の通りです。 | |||
0 | OpenSSH形式 | |||
1 | PuTTY形式 | |||
戻り値 | 0 | 成功 | ||
1 | コマンド実行失敗 | |||
2 | パラメータ不正 | |||
3 | パラメータ不足 | |||
サンプル | 【OpenSSH形式】 download {ACCOUNT} 0 |
(*1) ユーザTempフォルダのパスは「環境変数TMP」「環境変数TEMP」「環境変数USERPROFILE」「Windowsディレクトリ」の順で検索し、最初に有効値を取得出来たものとなります。
ファイル削除
コマンド | delete | ||
説明 | 引数で指定したファイルを削除します。 | ||
書式 | delete file | ||
引数 | file 【必須】 | 削除するファイル名またはファイルパス(絶対/相対)を指定します。 ファイル名のみを指定した場合はユーザTempフォルダ(*1)配下から削除します。 | |
戻り値 | 0 | 成功 | |
1 | コマンド実行失敗 | ||
3 | パラメータ不足 | ||
サンプル | 【指定したパスのファイルを削除】 delete “C:\Program Files\iDoperation Client\log\client.log”
【ユーザTempフォルダ内のファイル(downloadで取得した秘密鍵)を削除】 delete {ACCOUNT} |
(*1) ユーザTempフォルダのパスは「環境変数TMP」「環境変数TEMP」「環境変数USERPROFILE」「Windowsディレクトリ」の順で検索し、最初に有効値を取得出来たものとなります。
ファイル復号
コマンド | decrypt | ||
説明 | 引数で指定したファイルを復号し、同名の復号済みファイル(文字コードShift-JISで保存)をユーザTempフォルダ(*1)に配置します。既に同名のファイルがユーザTempフォルダ内に存在する場合、既存のファイルを上書きします。 ファイルはiDoperation専用アルゴリズムで暗号化されている必要があります。(*2) | ||
書式 | decrypt file {encoding} | ||
引数 | file 【必須】 | 復号するファイル名を指定します。 復号するファイルは<Clientインストールフォルダ\bin\tool>配下に存在する必要があります。 | |
encoding | 復号するファイルの暗号化前の文字コードを指定します。(*3) 文字コードを指定しなかった場合、元ファイルはUTF-8(BOM無し)として解釈され、復号が実行されます。 | ||
戻り値 | 0 | 成功 | |
1 | コマンド実行失敗 | ||
3 | パラメータ不足 | ||
サンプル | 【TeraTermマクロを復号】 decrypt TT.sso
【リモートデスクトップ接続用vbsを復号】 decrypt TTRun.vbs shift_jis |
(*1) ユーザTempフォルダのパスは「環境変数TMP」「環境変数TEMP」「環境変数USERPROFILE」「Windowsディレクトリ」の順で検索し、最初に有効値を取得出来たものとなります。
(*2) 対象ファイルは<Clientインストールフォルダ\bin\tool>に同梱されているiDoperation独自方式で暗号化されたファイルのみです。
(*3) 指定できる文字コード名は下記URLの表における「name」カラムの値です。
https://docs.microsoft.com/ja-jp/dotnet/api/system.text.encoding?view=netframework-4.7.2
スクリプト処理
カレントディレクトリ変更
コマンド | cd | ||
説明 | カレントディレクトリを変更します。 | ||
書式 | cd directory | ||
引数 | directory 【必須】 | 変更先のディレクトリパスを指定します。 絶対パス・相対パスともに指定出来ます。 | |
戻り値 | 0 | 成功 | |
1 | コマンド実行失敗 | ||
3 | パラメータ不足 | ||
サンプル | 【カレントディレクトリ変更(絶対パス)+プログラム実行】 cd "C:\Program Files\teraterm" exec ttermpro.exe
【カレントディレクトリ変更(相対パス)+プログラム実行】 cd "C:\Program Files\iDoperation Client\bin" cd "..\..\teraterm" exec ttermpro.exe |
(*1) 相対パスの基準となるカレントディレクトリは<Clientインストールフォルダ\bin>です。cdコマンドが先に実行されている場合は、cdコマンドで指定したパスがカレントディレクトリになります。
処理待機
コマンド | wait | |||
説明 | 指定した時間、処理実行を待機します。デフォルトの単位はミリ秒です。 | |||
書式 | wait time {unit} | |||
引数 | time 【必須】 | 待機時間を指定します。 | ||
unit | 引数timeで指定した値の単位を指定します。 指定値の意味は下記表の通りです。 | |||
(指定なし) | ミリ秒 | |||
sec | 秒 | |||
戻り値 | 0 | 成功 | ||
2 | パラメータ不正 | |||
3 | パラメータ不足 | |||
サンプル | 【1000ミリ秒(=1秒)待機】 wait 1000
【1秒待機】 wait 1 sec |
メッセージボックス表示
コマンド | messagebox | ||
説明 | OK ボタンが1つついたiDoperation Clientのメッセージボックスを表示します。 | ||
書式 | messagebox text {title} | ||
引数 | text 【必須】 | メッセージボックスに表示する文字列を指定します。 スクリプト変数を指定する事も可能です。 | |
title | メッセージボックスのタイトルを指定します。 省略した場合、タイトルは「エラー」となります。 | ||
戻り値 | 0 | 成功 | |
3 | パラメータ不足 | ||
サンプル | 【タイトルあり】 messagebox "リモートデスクトップ接続の起動に失敗しました。" "Err-100 オートログインエラー"
【タイトルなし】 messagebox "リモートデスクトップ接続の起動に失敗しました。" |
文字列比較
コマンド | strcmp | |||
説明 | 指定されたウィンドウ内のコントロールの文字列と任意の文字列を比較します。 | |||
書式 | strcmp window_title automation_ID string {flag} | |||
引数 | window_title 【必須】 | 比較対象文字列が存在するウィンドウのタイトルを文字列で指定します。スクリプト変数を指定する事も可能です。 | ||
automation_ID | 比較対象文字列が存在するコントロールのIDを指定します。 主要オートメーションIDについては『4.2主要オートメーションIDリスト』を参照してください。 | |||
string | 比較する文字列を指定します。 スクリプト変数を指定する事も可能です。 | |||
flag | 比較方法を0~5の数値で指定します。数値の意味は下記表の通りです。 省略した場合は0として扱われます。 | |||
0 | 完全一致のみを一致とする | |||
1 | 大文字と小文字を区別せず比較する | |||
2 | 前方一致で比較する | |||
3 | 大文字と小文字を区別せず前方一致で比較する | |||
4 | 後方一致で比較する | |||
5 | 大文字と小文字を区別せず後方一致で比較する | |||
戻り値 | 0 | 成功 | ||
1 | コマンド実行失敗 | |||
2 | パラメータ不正 | |||
3 | パラメータ不足 | |||
200 | 比較文字列不一致 | |||
サンプル | 【リモートデスクトップ接続画面「コンピュータ(C)」欄に意図した値が入力されているか】 strcmp "リモート デスクトップ接続" 5012 {IPADDR} 0 |
スクリプト変数NULLチェック
コマンド | isnull | |||
説明 | 指定したスクリプト変数で展開される内容が空(未登録)か否かを判定します。 | |||
書式 | isnull {condition} scriptvariable | |||
引数 | condition | 戻り値判定の条件を指定します。 | ||
(指定なし) | 展開後のscriptvariableが空(未登録)の場合、戻り値が成功(0)となります。 | |||
not | 展開後のscriptvariableが空(未登録)以外の場合、戻り値が成功(0)となります。 | |||
scriptvariable 【必須】 | 内容をチェックするスクリプト変数を指定します。 | |||
戻り値 | 0 | 成功(指定と一致) | ||
3 | パラメータ不足 | |||
200 | 比較文字列不一致 | |||
サンプル | 【オートログイン対象アカウント名の値が空か否か(空の時、成功)】 isnull {ACCOUNT} |
処理分岐
コマンド | if | |||
説明 | 引数で指定した条件・値によってスクリプト処理の分岐を行います。 | |||
書式 | if {condition} target code command | |||
引数 | condition | 戻り値判定の条件を指定します。 | ||
(指定なし) | 判定対象(target)の内容がcodeと一致していれば命令(command)を実行します。 | |||
not | 判定対象(target)の内容がcodeと一致していなければ命令(command)を実行します。 | |||
target 【必須】 | ifコマンドの判定対象を指定します。 | |||
errorlevel | 直前のコマンドのエラーコードを判定対象とします。 | |||
execreturn | 直近のexecコマンドで実行したプロセスの戻り値を判定対象とします。 | |||
{スクリプト変数} | 置換後の値が数値となるスクリプト変数(例:{ACTYPE})を判定対象とします。 | |||
code 【必須】 | 引数targetで指定した判定対象の内容と比較を行う値を数値で指定します。 | |||
command 【必須】 | 判定後に実行するコマンドを指定します。 | |||
戻り値 | 0 | 成功(指定と一致) | ||
サンプル | 【focusコマンド失敗時、エラー処理へジャンプ指示】 focus "リモートデスクトップ接続" if not errorlevel 0 goto error
【アカウント種別により処理を分岐する】 if {ACTYPE} 1 goto auth |
処理ジャンプ
コマンド | goto | ||
説明 | gotoコマンドを記述した行以降に定義されたlabelへ処理をジャンプします。 | ||
書式 | goto label | ||
引数 | label 【必須】 | ジャンプ先のラベル名を指定します。
ラベルはgotoコマンド記述行以降に存在する必要があります。 | |
戻り値 | なし | ||
サンプル | 【ifコマンドの結果、ラベル『exec_failure_00』へ処理ジャンプ】 waitexec "{%SystemRoot}\System32\wscript.exe" //B ".\bin\rdp\RDPRun.vbe" ".\bin\rdp\idoperation.rdp" "{IPADDR}" "" "{ACCOUNT}" "{PASSWORD}" if not execreturn 0 goto exec_failure_00
:exec_failure_00 messagebox "リモートデスクトップ接続の起動に失敗しました。" "Err-100 オートログインエラー" end 100 |
スクリプト終了
コマンド | end | ||
説明 | スクリプト処理を終了します。 error_codeを指定する事でエラーコードを返す事が出来ます。 指定したエラーコードは下記の形式でログファイル(<Clientインストールフォルダ\log\client.log>)に出力されます。 ・end コマンド終了({0}) ※{0}部分にエラーコードが置換されます。 | ||
書式 | end {error_code} | ||
引数 | error_code 【必須】 | 返すエラーコードを指定します。 | |
戻り値 | 0 | 成功 | |
1 | コマンド実行失敗 | ||
サンプル | 【正常終了】 end
【異常終了(任意のエラーコード返却)】 end 100 |