home *** CD-ROM | disk | FTP | other *** search
/ MacUser Mac Bin 40 / MACUSER-MACBIN40A-1997-03.ISO.7z / MACUSER-MACBIN40A-1997-03.ISO / オンラインソフト / オンラインソフト⁄毎号掲載 / 通信関連 / areTerm / スクリプトマニュアル < prev    next >
Text File  |  1995-12-23  |  14KB  |  406 lines

  1.                             1995.12.23
  2.  
  3.            areTerm スクリプト・マニュアル
  4.           ============================
  5.  
  6. スクリプトとは
  7.  ̄ ̄ ̄ ̄ ̄ ̄ ̄
  8.  ホストと接続していつも決まった内容を入力する場合、入力操作を自動化
  9. することによってミス入力の防止や、作業のスピードアップを実現できます。
  10. areTermではログイン時のスクリプトの他に、任意のスクリプトを最大20
  11. 個記述することができます。
  12.  スクリプトの基本はホストから受信する文字を監視していて、マッチする
  13. 文字を発見したときに、対応する文字を送信することです。areTermでは受
  14. 信文字列と送信文字列を空白で区切りながら交互に並べることによって簡単
  15. に指定することができます。
  16.  
  17.  
  18. スクリプトの入力
  19.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  20.  ログインスクリプトは編集メニュー/通信条件設定ダイアログの中に記述
  21. します。簡単に入力できるように、代表的なホストについてはテンプレート
  22. を用意しています。テンプレートにない場合でも適当なテンプレートを利用
  23. して修正するのがよいでしょう。
  24.  任意のスクリプトは編集メニュー/コマンドメニュー設定ダイアログの中
  25. に記述します。これをコマンドスクリプトと呼び、タイトルを付けることが
  26. できます。コマンドスクリプトを記述するとメニューバーにコマンドメニュ
  27. ーが現れ、プルダウンするとタイトルが表示されます。
  28.  ログインスクリプトは最初が受信文字列となり、コマンドスクリプトは最
  29. 初が送信文字列になります。いずれの場合も受信文字列と送信文字列を空白
  30. で区切りながら交互に並べます。
  31.  
  32.  
  33. ログインスクリプトの実行
  34.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  35.  ノードファイルを開くと自動的にログインスクリプトが実行を開始します。
  36. 受信文字列で指定した文字列を受信すると次の送信文字列を送信し、さらに
  37. 次の受信文字列を待つという動作を繰り返します。スクリプトの実行中はマ
  38. ウスカーソルが白ヌキの矢印になりますのでスクリプトの状態を確認するこ
  39. とができます。
  40.  モデム接続の場合にスクリプトを中断するにはリターンキーを入力してく
  41. ださい。大抵のモデムはリターンキーを送信するとダイアルを中止します。
  42. モデム接続でない場合に中断するにはスペースキーを入力してください。リ
  43. ターンキーなど特殊キー以外の文字を入力するとスクリプトの実行は中断さ
  44. れます。
  45.  
  46.  
  47. コマンドスクリプトの実行
  48.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  49.  コマンドメニューからスクリプトを選択して実行させます。コマンドスク
  50. リプトの1〜10はコマンドキーと数字キーで実行させることもできます。ま
  51. た11〜20はコントロールキーと数字キーで実行させることもできます。
  52.  スクリプトを中断するにはスペースキーを入力してください。リターンキ
  53. ーなど特殊キー以外の文字を入力するとスクリプトの実行は中断されます。
  54.  
  55.  
  56. 文字列の書式
  57.  ̄ ̄ ̄ ̄ ̄ ̄
  58.  文字列に記号や空白を含まない場合はそのまま記述しますが、そうでない
  59. 場合は半角”記号で囲む方法と半角()記号で囲む方法があります。”記号
  60. で囲むと送信文字列の場合は末尾にリターンキーを付加します。したがって
  61. リターンキーのみを送信する場合は”記号を2つ連続して記述します。
  62.  
  63.   例 半角でABC+空白+DEF+リターンキーの送信文字列
  64.     次の3つは同じ内容を送信します。
  65.                   ABC¥sDEF
  66.                   "ABC DEF"
  67.                   (ABC DEF¥r)
  68.  
  69.  文字列に空白を含まない場合はそのまま記述し、空白を含む場合は半角”
  70. 記号で囲むとよいでしょう。
  71.  
  72.  
  73. 受信文字列の特殊な指定方法
  74.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  75.  期待する受信文字列が5分以内に受信できない場合はスクリプトを中断
  76. しますが、受信文字列の中に催促の送信文字列を指定することができます。
  77. 受信文字列として半角ハイフンで区切りながら期待文字列と催促文字列を交
  78. 互に並べ、最後は期待文字列にします。これをサブチャットシーケンスと呼
  79. びます。
  80.   例 *-@P-*-@P-*
  81.     これは*記号の受信を期待していますが10秒以内に受信できないと
  82.     きは催促の@Pを送信します。そして再度*記号を受信待ちします。
  83.     さらに10秒経過しても受信できない場合は再度@Pを送信します。
  84.     さらに10秒経過したときには記述がありませんので、スクリプトの
  85.     実行を中断します。
  86.  
  87.  
  88. 送信文字列の特殊な指定方法
  89.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  90.  以上の基本的な記述だけでも簡単な操作は指定できますが、次のように送
  91. 信文字列を工夫するとさらに用途が広がります。送信文字列を半角<>記号で
  92. 囲むと特殊な意味になります。
  93.  
  94.   <BCG=ファイル名>  ・・・・・BCGフォーマットを送信します。
  95.   <BREAK>・・・・・・・・・・ブレイク信号を送信します。
  96.   <LOG=ファイル名>  ・・・・・ログファイルを切り替えます。
  97.   <LOG> ・・・・・・・・・・・ログファイルを元に戻します。
  98.   <PILOT= ファイル名> ・・・・スクリプトファイルを実行します。
  99.   <TEXT=ファイル名>・・・・・ファイルの内容を無手順で送信します。
  100.   <ファイル名>・・・・・・・・<TEXT=ファイル名>と同じです。
  101.  
  102.  ファイルを指定する場合はノードファイルと同じフォルダにファイルを用
  103. 意しておく必要があります。
  104.  
  105.  ファイル名の末尾に半角*記号を指定した場合は、ダイアログからファイ
  106. ルを選択することができます。*記号はワイルドカードとして機能し、ダイ
  107. アログには*記号の前までが一致するファイル名を表示します。*記号がワイ
  108. ルドカードとして機能するのは末尾に指定した場合だけです。
  109.  
  110.   <例>mail1, mail2,・・・・・をダイアログから選択する
  111.      <mail*>
  112.  
  113.  また、半角+記号で始まるファイル名をテキスト送信した場合は+記号を-
  114. 記号に置き換えます。
  115.  
  116.   <例>+mail1, +mail2,・・・・・をダイアログから選択する
  117.      <+mail*>
  118.     +mail1を選択して送信した後は-mail1に名前が変わりますので、
  119.    次回のダイアログには表示されなくなります。
  120.  
  121.  
  122. <BCG=ファイル名>
  123.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  124.  bcgフォーマットで記述された内容をバイナリに変換して送信します。bcg
  125. フォーマットについては付録を参照してください。テキストエディタでは記
  126. 述できないようなバイナリデータを無手順で送信する場合に利用することが
  127. できます。
  128.  
  129.  
  130. <BREAK>
  131.  ̄ ̄ ̄ ̄ ̄
  132.  ブレイク信号を送信します。ホストがブレイク信号をサポートしている場
  133. 合は処理を中断することができます。
  134.  
  135.  
  136. <LOG=ファイル名>
  137.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  138.  ログファイル名のデフォルトはノードファイル名の末尾に月日を付加した
  139. 形式ですがこれを切り替えます。画面表示の特定部分だけを別ファイルに書
  140. き出す場合に利用することができます。
  141.  
  142.   <例>モデムの状態をmodem.txtに書き出す
  143.      AT  OK  <LOG=modem.txt>  ""  AT¥¥S  OK  <LOG>
  144.  
  145.  
  146. <LOG> 
  147.  ̄ ̄ ̄ ̄
  148.  ログファイル名をデフォルトに戻します。
  149.  
  150.  
  151. <PILOT=ファイル名>
  152.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  153.  スクリプトを記述したファイルを指定することができます。書式はコマン
  154. ドスクリプトと同じですが、改行コードも空白と同様に扱われます。1行に
  155. 受信文字列と送信文字列をペアにして記述すると見やすくなるでしょう。な
  156. お、スクリプトからスクリプトを呼び出したとき元には戻ってきません。
  157.  
  158.   <例>
  159.     file1の内容
  160.      AT ・・・・・・・・1行に送信文字列
  161.      OK  ATS1? ・・・・1行に複数指定
  162.      OK  ATS2? ・・・・1行に複数指定
  163.  
  164.         スクリプトの内容
  165.      <PILOT=file1>
  166.  
  167.         スクリプトの実行内容
  168.      ATを送信
  169.      OKを受信
  170.      ATS1?を送信
  171.      OKを受信
  172.      ATS2?を受信
  173.  
  174.  
  175. <TEXT=ファイル名>
  176.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  177.  ファイルの内容を送信します。
  178.  
  179.   <例>mail1のファイル内容を送信する
  180.                <TEXT=mail1>
  181.      <mail1>・・・従来と互換性のある形式です。
  182.  
  183.  
  184. スクリプトの高度な利用方法
  185.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  186.  次は繰り返し処理や、場合分け処理を行うための高度なスクリプトについ
  187. て説明します。実際に利用する場面も多いと思われますので、コマンドスク
  188. リプトとして登録しておけば大抵のことはワンタッチでできるようになりま
  189. す。
  190.  
  191.   <CASE>・・・・・・・・・・場合分け処理の範囲を指定します。
  192.   <CHAT>・・・・・・・・・・繰り返し処理の範囲を指定します。
  193.   <FILE=ファイル名>・・・・・複数ファイルを連続して送信します。
  194.   <LINE=ファイル名>・・・・・複数ファイルの1行目を連続して送信します。
  195.   <LINE>  ・・・・・・・・・・次の1行を送信します。
  196.   <LINEZ>・・・・・・・・・・残りの行を送信します。
  197.   <NEXT> ・・・・・・・・・・<CASE>の繰り返し処理を終了します。
  198.   <TABLE=ファイル名>・・・・1行づつの繰り返し送信を行います。
  199.   <@TABLE=ファイル名>・・・複数ファイルを連続して送信します。
  200.  
  201.  
  202. スクリプトブロック
  203.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  204.  受信文字列や送信文字列でない第3の文字列として<CHAT>と<CASE>を指
  205. 定することができます。この文字列で区切られた範囲をスクリプトブロック
  206. と呼びます。繰り返し処理や場合分け処理はスクリプトブロックを単位とし
  207. て実行されます。なお、<CHAT>や<CASE>の直後は必ず受信文字列とします。
  208.  
  209.  <例>
  210.    ATZ  <CHAT>  OK  AT  <CHAT>  OK  AT
  211.  
  212.    2個の<CHAT>が指定されており3つのブロックに分けられています。
  213.    この例では繰り返し処理が指定されていませんので利用価値はありま
  214.    せん。
  215.  
  216.  <CHAT>に続くブロックの中に次の送信文字列のいずれかが指定されている
  217. とそのブロックは繰り返し処理となります。
  218.  
  219.   <FILE=ファイル名>
  220.   <LINE=ファイル名>
  221.   <TABLE=ファイル名>
  222.   <@TABLE=ファイル名>
  223.  
  224.  <CASE>に続くブロックの中にある受信文字列については順序関係がなくな
  225. りどれか1つでも受信すると次のブロックに進みます。ただし、そのブロッ
  226. クの中に送信文字列として<NEXT>があると、そのブロックは繰り返し処理と
  227. なります。なお、<NEXT>はブロックの終了を示すだけですので何も送信しま
  228. せん。
  229.  
  230.  
  231. <FILE=ファイル名>
  232.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  233.  <CHAT>と一緒に用いて複数ファイルを繰り返し処理の中で送信すること
  234. ができます。通常ファイル名の末尾に*記号を付けたワイルドカードを指定
  235. しますが、ダイアログを表示しないでマッチするファイルをすべて繰り返し
  236. 送信の対象とします。
  237.  
  238.   <例>
  239.     先頭がmailで始まるファイルとしてmail1, mail2がノードファイ
  240.     ルと同じフォルダに存在しているときNiftyへメール送信する。
  241.     mail1とmail2には宛先と表題が組み込まれているとします。
  242.  
  243.     スクリプトの内容
  244.       MAIL  <CHAT>  
  245.       MAIL>  COMpose  "本文"    <FILE=+mail*>   ""   /POST
  246.  
  247.     スクリプトの実行内容
  248.       MAILを送信
  249.       MAIL>を受信・・・・・・・繰り返し1回目の始まり
  250.       COMposeを送信
  251.       "本文"を受信
  252.       ファイルmail1を送信
  253.       MAIL>を受信・・・・・・・繰り返し2回目の始まり
  254.       COMposeを送信
  255.       "本文"を受信
  256.       ファイルmail2を送信
  257.  
  258.  
  259. <LINE=ファイル名>、<LINE>、<LINEZ>
  260.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  261.  <CHAT>と一緒に用いて複数ファイルを繰り返し処理の中で送信すること
  262. ができます。ファイルの先頭を1行づつ取り出して特別に送信することがで
  263. きます。<LINE=ファイル名>は最初の1行目、<LINE>は次の1行、<LINEZ>
  264. は残りの行を送信します。通常ファイル名の末尾に*記号を付けたワイルド
  265. カードを指定しますが、ダイアログを表示しないでマッチするファイルをす
  266. べて繰り返し送信の対象とします。
  267.  
  268.   <例>
  269.     先頭がmailで始まるファイルとしてmail1, mail2がノードファイ
  270.     ルと同じフォルダに存在しているときPeopleへメール送信する。
  271.     mail1とmail2の1行目は宛先、2行目は表題が記述されていると
  272.     します。
  273.  
  274.     スクリプトの内容
  275.      "GO MAIL"   <CHAT>   番号>   1   宛先:  <LINE=mail*>  
  276.      表題:  <LINE>  ---  <LINEZ>   ""   .   番号>  1
  277.  
  278.     スクリプトの実行内容
  279.      "GO MAIL"を送信
  280.      番号>を受信・・・・・・・繰り返し1回目の始まり
  281.      1を送信
  282.      宛先:を受信
  283.      ファイルmail1の1行目を送信
  284.      表題:を受信
  285.      ファイルmail1の2行目を送信
  286.      ---を受信
  287.      ファイルmail1の3行目から最後までを送信
  288.      番号>を受信
  289.      1を送信
  290.      番号>を受信・・・・・・・繰り返し2回目の始まり
  291.      1を送信
  292.      宛先:を受信
  293.      ファイルmail2の1行目を送信
  294.      表題:を受信
  295.      ファイルmail2の2行目を送信
  296.      ---を受信
  297.      ファイルmail2の3行目から最後までを送信
  298.      番号>を受信
  299.      1を送信
  300.  
  301.  
  302. <TABLE=ファイル名>
  303.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  304.  <CHAT>や<CASE>と一緒に用いて繰り返し処理の中でファイルの内容を
  305. 1行づつ送信します。ファイル名の末尾に*記号を指定した場合はワイルド
  306. カードとして機能しダイアログから選択することができます。なお<CASE>
  307. と一緒に用いた場合にファイルを最後まで送信するとスクリプトは停止しま
  308. す。
  309.  
  310.   <例>
  311.     file1の内容
  312.      ATS1?      1st line・・・空白やタブの後ろは送信されません
  313.      #ATS2?    2nd line・・・先頭が#記号の場合はスキップされます
  314.      ATS3?      3rd line
  315.  
  316.     スクリプトの内容
  317.      ATZ  <CHAT>  OK  <TABLE=file1>  OK  AT
  318.  
  319.     スクリプトの実行内容
  320.      ATZを送信
  321.      OKを受信
  322.      ATS1?を送信・・・ファイルの1行目
  323.      OKを受信
  324.      ATを送信
  325.      OKを受信
  326.      ATS3?を送信・・・ファイルの3行目
  327.      OKを受信
  328.      ATを送信
  329.  
  330.  
  331. <@TABLE=ファイル名>
  332.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  333.  <CHAT>や<CASE>と一緒に用いて各行の内容をファイル名として1ファ
  334. イルづつ送信します。ファイルの内容をファイル名としてテキスト送信しま
  335. す。ファイル名の末尾に*記号を指定した場合はワイルドカードとして機能
  336. しダイアログから選択することができます。なお<CASE>と一緒に用いた場
  337. 合にファイルを最後まで送信するとスクリプトは停止します。
  338.  
  339.   <例>
  340.     file1の内容
  341.      test1       1st line・・・空白やタブの後ろは送信されません
  342.      #test2     2nd line・・・先頭が#記号の場合はスキップされます
  343.      test3       3rd line
  344.  
  345.     test1の内容
  346.      ATS1?
  347.  
  348.     test3の内容
  349.      ATS2?
  350.  
  351.     スクリプトの内容
  352.      AT  <CHAT>  OK  <@TABLE=file1> 
  353.  
  354.     スクリプトの実行内容
  355.      ATを送信
  356.      OKを受信
  357.      ATS1?を送信・・・1行目のファイルの内容
  358.      OKを受信
  359.      ATS2?を送信・・・3行目のファイルの内容
  360.  
  361.  
  362. <NEXT>
  363.  ̄ ̄ ̄ ̄
  364.  <CASE>は場合分け処理を表しますが<NEXT>と一緒に用いて、場合分け処
  365. 理の繰り返しを表します。また、<NEXT>はスクリプトブロックの脱出機能を
  366. 持っています。
  367.  
  368.   <例>
  369.     Niftyのメールをすべて受信し、読み終わったメールを削除する。
  370.  
  371.     スクリプトの内容
  372.      mail  MAIL>  "read  all"  <CASE>  action  del  MAIL>  <NEXT>
  373.  
  374.     スクリプトの実行内容
  375.      mailを送信
  376.      MAIL>を受信
  377.      "read all"を送信
  378.      actionを受信・・・・・1回目にactionを受信
  379.      delを送信
  380.      actionを受信・・・・・2回目もactionを受信
  381.      delを送信
  382.      MAIL>を受信・・・・・3回目はactionでない
  383.      <NEXT>でブロック終了
  384.  
  385.  
  386.  
  387. ---------------------------付録---------------------------
  388.  
  389. bcgフォーマット
  390.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  391.  テキストファイルでバイナリデータを記述するために、areTermが用いる
  392. フォーマットです。半角の(と、)で囲まれた文字列のみを通信の対象とし
  393. それ以外はすべてスキップします。文字列中にはareTermマニュアルの「特
  394. 殊文字の記述方法」が使用できます。また、半角(と、)を通信データに含
  395. める場合は直前に半角¥をつけて¥(または、¥)としてください。
  396.  
  397.  <例>
  398.     (^B12345678901234567890^C)    % stx,data,etx
  399.  のデータと次のように4行に分けても全く同じです。
  400.     (^B)        % stx
  401.     (1234567890)       % data1
  402.     (1234567890)       % data2
  403.     (^C)        % etx
  404.  
  405.  
  406.