下载
开发软件
账户
下载
开发软件
登录
我忘记用户名和密码了
创建帐户
语言
帮助
语言
帮助
×
登录
登录名
密码
×
我忘记用户名和密码了
简体中文翻译状态
类别:
软件
用户
PersonalForge
Magazine
Wiki
搜索
OSDN
>
浏览软件
>
Terminals
>
Serial
>
Tera Term
>
Ticket List/Search
>
任务单 #10266
Tera Term
描述
项目概述
开发人员仪表板
项目的网页
开发人员
Image Gallery
List of RSS Feeds
Activity
统计
历史
下载
File Release
List of Releases
统计
File Storage
Files
统计
源代码
Code Repository list
Subversion
查看仓库
CVS
查看仓库
任务单
Ticket List
里程碑列表
Type List
组件列表
List of frequently used tickets/RSS
Submit New Ticket
文档
Wiki
FrontPage
Title index
Recent changes
Doc Mgr
列表文档
沟通
论坛
List of Forums
帮助论坛 (428)
公开讨论 (173)
Mailing Lists
list of ML
ttssh2-commit
ttssh2-dev
ttssh2-users
新闻
任务单 #10266
Ticket List
Submit New Ticket
RSS
マクロが切断される?
开放日期:
2007-04-10 14:39
最后更新:
2007-04-18 10:07
monitor
ON
OFF
报告人:
nuu
属主:
(无)
类型:
Bugs
状态:
关闭
组件:
(无)
里程碑:
(无)
优先:
5 - Medium
严重性:
5 - Medium
处理结果:
Works For Me
文件:
无
Vote
Score:
0
No votes
0.0
% (
0
/
0
)
0.0
% (
0
/
0
)
0
0
Details
回复
XP端末からTeraTermマクロを使用して、TelNet接続し、
WINDOWS2003サーバ上でバッチを起動するTeraTermマクロを作
成しました。
param2 の終了を待っている間にコンソール上のメッセージが
一杯になりスクロールした瞬間、TeraTermが誤終了してしま
うようです。
下記がマクロの内容です。
Versionは4.51です。
よろしくお願い致します。
connect '192.168.1.1:23'
UsernamePrompt = 'login: '
Username = 'Administrator'
PasswordPrompt = 'password: '
Password = 'password'
Prompt = 'D:\>'
ABEND = 'ERROR'
setsync 1
wait UsernamePrompt
sendln Username
wait PasswordPrompt
sendln Password
wait Prompt
flushrecv
sendln param2
timeout=0
wait Prompt ABEND
if result=1 goto ok
if result=2 goto no
:ok
setexitcode 0
goto end
:no
setexitcode 12
goto end
:end
setsync 0
sendln 'exit'
closett
任务单历史 (3/14 Histories)
Show older Histories
2007-04-11 13:23
Updated by:
(del#1144)
处理结果
Update from
无
to
Works For Me
评论
回复
Logged In: YES
user_id=1144
再現しませんでした。
「誤終了」時には、ok と no のどちらも通っていませんか?
2007-04-11 13:55
Updated by:
nuu
评论
回复
Logged In: YES
user_id=28345
「誤終了」時には、param2は処理途中で止まり、okを通り、呼び
出し元へ遷移します。
closettを削除した場合は、param2は最後まで実行しますが、処理
途中で呼び出し元へ遷移するところは変わりません。
2007-04-11 14:24
Updated by:
(del#1144)
评论
回复
Logged In: YES
user_id=1144
param2 ではどんなコマンドを実行していますか?
> okを通る
sendln で 1 が返ってくるということは、Prompt が返ってきて
いるように見えます。ということは teraterm が終了している訳
ではなく、param2 が終了したか、param2 の出力に 'D:\>' が
含まれていたのではないでしょうか。
2文目の「param2は最後まで実行」「処理途中」は別のことを
指していますか?
2007-04-11 16:00
Updated by:
nuu
评论
回复
Logged In: YES
user_id=28345
param2 ではPAUSEで確認後に業務プログラムを実行しています。
下記はテスト用に内容を省略したものです。
TeraTerm端末サイズは90×20で実行しています。
TEST2終了を待たずにTEST3が起動します。
○呼び出し元の内容
"C:/Program Files/teraterm/ttpmacro.exe" BATCH.TTL /I /V "D:
/tmp/TEST1.BAT"
if errorlevel 12 GOTO END
"C:/Program Files/teraterm/ttpmacro.exe" BATCH.TTL /I /V "D:
/tmp/TEST2.BAT"
if errorlevel 12 GOTO END
"C:/Program Files/teraterm/ttpmacro.exe" BATCH.TTL /I /V "D:
/tmp/TEST3.BAT"
if errorlevel 12 GOTO END
:END
PAUSE
○TEST1の内容
ECHO OFF
ECHO MSG *** テスト1 START ***
ECHO MSG *** テスト1 E N D ***
○TEST2の内容
ECHO OFF
ECHO MSG *** テスト2 START ***
ECHO MSG 0 *** ENTER を押してください ***
PAUSE
ECHO MSG 1
ECHO MSG 2
ECHO MSG 3
ECHO MSG 4
ECHO MSG 5
ECHO MSG 6
ECHO MSG 7
ECHO MSG 8
ECHO MSG 9
ECHO MSG 10 *** ENTER を押してください ***
PAUSE
ECHO MSG 11
ECHO MSG 12
ECHO MSG 13
ECHO MSG 14
ECHO MSG 15 *** ENTER を押してください ***
PAUSE
ECHO MSG 16
ECHO MSG 17
ECHO MSG 18
ECHO MSG 19
ECHO MSG 20
ECHO MSG *** テスト2 E N D ***
PAUSE
PAUSE
PAUSE
PAUSE
PAUSE
PAUSE
○TEST3の内容
ECHO OFF
ECHO MSG *** テスト3 START ***
ECHO MSG *** テスト3 E N D ***
2007-04-11 16:08
Updated by:
nuu
评论
回复
Logged In: YES
user_id=28345
param2 ではPAUSEで確認後に業務プログラムを実行しています。
下記はテスト用に内容を省略したものです。
TeraTerm端末サイズは90×20で実行しています。
TEST2終了を待たずにTEST3が起動します。
○呼び出し元の内容
"C:/Program Files/teraterm/ttpmacro.exe" BATCH.TTL /I /V "D:
/tmp/TEST1.BAT"
if errorlevel 12 GOTO END
"C:/Program Files/teraterm/ttpmacro.exe" BATCH.TTL /I /V "D:
/tmp/TEST2.BAT"
if errorlevel 12 GOTO END
"C:/Program Files/teraterm/ttpmacro.exe" BATCH.TTL /I /V "D:
/tmp/TEST3.BAT"
if errorlevel 12 GOTO END
:END
PAUSE
○TEST1の内容
ECHO OFF
ECHO MSG *** テスト1 START ***
ECHO MSG *** テスト1 E N D ***
○TEST2の内容
ECHO OFF
ECHO MSG *** テスト2 START ***
ECHO MSG 0 *** ENTER を押してください ***
PAUSE
ECHO MSG 1
ECHO MSG 2
ECHO MSG 3
ECHO MSG 4
ECHO MSG 5
ECHO MSG 6
ECHO MSG 7
ECHO MSG 8
ECHO MSG 9
ECHO MSG 10 *** ENTER を押してください ***
PAUSE
ECHO MSG 11
ECHO MSG 12
ECHO MSG 13
ECHO MSG 14
ECHO MSG 15 *** ENTER を押してください ***
PAUSE
ECHO MSG 16
ECHO MSG 17
ECHO MSG 18
ECHO MSG 19
ECHO MSG 20
ECHO MSG *** テスト2 E N D ***
PAUSE
PAUSE
PAUSE
PAUSE
PAUSE
PAUSE
○TEST3の内容
ECHO OFF
ECHO MSG *** テスト3 START ***
ECHO MSG *** テスト3 E N D ***
2007-04-11 16:08
Updated by:
nuu
评论
回复
Logged In: YES
user_id=28345
param2 ではPAUSEで確認後に業務プログラムを実行しています。
下記はテスト用に内容を省略したものです。
TeraTerm端末サイズは90×20で実行しています。
TEST2終了を待たずにTEST3が起動します。
○呼び出し元の内容
"C:/Program Files/teraterm/ttpmacro.exe" BATCH.TTL /I /V "D:
/tmp/TEST1.BAT"
if errorlevel 12 GOTO END
"C:/Program Files/teraterm/ttpmacro.exe" BATCH.TTL /I /V "D:
/tmp/TEST2.BAT"
if errorlevel 12 GOTO END
"C:/Program Files/teraterm/ttpmacro.exe" BATCH.TTL /I /V "D:
/tmp/TEST3.BAT"
if errorlevel 12 GOTO END
:END
PAUSE
○TEST1の内容
ECHO OFF
ECHO MSG *** テスト1 START ***
ECHO MSG *** テスト1 E N D ***
○TEST2の内容
ECHO OFF
ECHO MSG *** テスト2 START ***
ECHO MSG 0 *** ENTER を押してください ***
PAUSE
ECHO MSG 1
ECHO MSG 2
ECHO MSG 3
ECHO MSG 4
ECHO MSG 5
ECHO MSG 6
ECHO MSG 7
ECHO MSG 8
ECHO MSG 9
ECHO MSG 10 *** ENTER を押してください ***
PAUSE
ECHO MSG 11
ECHO MSG 12
ECHO MSG 13
ECHO MSG 14
ECHO MSG 15 *** ENTER を押してください ***
PAUSE
ECHO MSG 16
ECHO MSG 17
ECHO MSG 18
ECHO MSG 19
ECHO MSG 20
ECHO MSG *** テスト2 E N D ***
PAUSE
PAUSE
PAUSE
PAUSE
PAUSE
PAUSE
○TEST3の内容
ECHO OFF
ECHO MSG *** テスト3 START ***
ECHO MSG *** テスト3 E N D ***
2007-04-11 16:14
Updated by:
nuu
评论
回复
Logged In: YES
user_id=28345
param2 ではPAUSEで確認後に業務プログラムを実行しています。
下記はテスト用に内容を省略したものです。
TeraTerm端末サイズは90×20で実行しています。
TEST2終了を待たずにTEST3が起動します。
○呼び出し元の内容
"C:/Program Files/teraterm/ttpmacro.exe" BATCH.TTL /I /V "D:
/tmp/TEST1.BAT"
if errorlevel 12 GOTO END
"C:/Program Files/teraterm/ttpmacro.exe" BATCH.TTL /I /V "D:
/tmp/TEST2.BAT"
if errorlevel 12 GOTO END
"C:/Program Files/teraterm/ttpmacro.exe" BATCH.TTL /I /V "D:
/tmp/TEST3.BAT"
if errorlevel 12 GOTO END
:END
PAUSE
○TEST1の内容
ECHO OFF
ECHO MSG *** テスト1 START ***
ECHO MSG *** テスト1 E N D ***
○TEST2の内容
ECHO OFF
ECHO MSG *** テスト2 START ***
ECHO MSG 0 *** ENTER を押してください ***
PAUSE
ECHO MSG 1
ECHO MSG 2
ECHO MSG 3
ECHO MSG 4
ECHO MSG 5
ECHO MSG 6
ECHO MSG 7
ECHO MSG 8
ECHO MSG 9
ECHO MSG 10 *** ENTER を押してください ***
PAUSE
ECHO MSG 11
ECHO MSG 12
ECHO MSG 13
ECHO MSG 14
ECHO MSG 15 *** ENTER を押してください ***
PAUSE
ECHO MSG 16
ECHO MSG 17
ECHO MSG 18
ECHO MSG 19
ECHO MSG 20
ECHO MSG *** テスト2 E N D ***
PAUSE
PAUSE
PAUSE
PAUSE
PAUSE
PAUSE
○TEST3の内容
ECHO OFF
ECHO MSG *** テスト3 START ***
ECHO MSG *** テスト3 E N D ***
2007-04-11 16:18
Updated by:
nuu
评论
回复
Logged In: YES
user_id=28345
param2 ではPAUSEで確認後に業務プログラムを実行しています。
下記はテスト用に内容を省略したものです。
TeraTerm端末サイズは90×20で実行しています。
TEST2終了を待たずにTEST3が起動します。
○呼び出し元の内容
"C:/Program Files/teraterm/ttpmacro.exe" BATCH.TTL /I /V "D:
/tmp/TEST1.BAT"
if errorlevel 12 GOTO END
"C:/Program Files/teraterm/ttpmacro.exe" BATCH.TTL /I /V "D:
/tmp/TEST2.BAT"
if errorlevel 12 GOTO END
"C:/Program Files/teraterm/ttpmacro.exe" BATCH.TTL /I /V "D:
/tmp/TEST3.BAT"
if errorlevel 12 GOTO END
:END
PAUSE
○TEST1の内容
ECHO OFF
ECHO MSG *** テスト1 START ***
ECHO MSG *** テスト1 E N D ***
○TEST2の内容
ECHO OFF
ECHO MSG *** テスト2 START ***
ECHO MSG 0 *** ENTER を押してください ***
PAUSE
ECHO MSG 1
ECHO MSG 2
ECHO MSG 3
ECHO MSG 4
ECHO MSG 5
ECHO MSG 6
ECHO MSG 7
ECHO MSG 8
ECHO MSG 9
ECHO MSG 10 *** ENTER を押してください ***
PAUSE
ECHO MSG 11
ECHO MSG 12
ECHO MSG 13
ECHO MSG 14
ECHO MSG 15 *** ENTER を押してください ***
PAUSE
ECHO MSG 16
ECHO MSG 17
ECHO MSG 18
ECHO MSG 19
ECHO MSG 20
ECHO MSG *** テスト2 E N D ***
PAUSE
PAUSE
PAUSE
PAUSE
PAUSE
PAUSE
○TEST3の内容
ECHO OFF
ECHO MSG *** テスト3 START ***
ECHO MSG *** テスト3 E N D ***
2007-04-11 17:05
Updated by:
nuu
评论
回复
Logged In: YES
user_id=28345
すみません。連打してしまったようです。
よろしくお願いします。
2007-04-11 17:12
Updated by:
(del#1144)
评论
回复
Logged In: YES
user_id=1144
試してみましたが、当方の環境では再現しません。
このバッチ群の実行で再現していますか?
2007-04-11 17:55
Updated by:
nuu
评论
回复
Logged In: YES
user_id=28345
はい。このバッチ群の実行で再現しています。
設定が悪いのでしょうか?
下記が設定内容です。ほぼ、デフォルトのままです。
○端末の設定
・端末サイズ:90×20
・ウインドウサイズ:○
・改行コード受信:CR
・改行コード送信:CR
・端末ID:VT100
・ローカルエコー:×
・自動切換え:×
・応答:指定なし
・漢字-受信:SJIS
・漢字-送信:SJIS
・ロケール:japanese
・言語コード:932
○ウインドウの設定
・タイトル:Tera Term
・カーソルの形:四角
・タイトルバーを隠す:×
・メニューバーを隠す:×
・フルカラー:○
・スクロールバッファ:10000
・カラー:文字
・属性:NORMAL
・赤:0,緑:0,青:0
・常に標準の背景色を使う:○
○フォントの設定
・フォント:MS 明朝
・サイズ:12
・太字を有効:×
○キーボードの設定
・BACKSPACEキー:×
・DELETEキー:○
・METAキー:×
○シリアルポート設定
・ポート:COM1
・ボーレート:9600
・データ:8bit
・パリティ:none
・ストップ:1bit
・フロー制御:none
・送信遅延:0ミリ秒/字 0ミリ秒/行
2007-04-12 10:27
Updated by:
(del#1144)
评论
回复
Logged In: YES
user_id=1144
再現しませんでした。
teraterm(ttermpro.exe) が終了しているのか、それとも
batch2.bat が終了しているのかわかりますか?
teraterm が終了しているなら、closett が「リンクしていない」
というエラーを出すと思います。
また、マクロ(ttpmacro.exe) を使わずに手動で batch2.bat を
実行した場合には正常に動作しますか?
2007-04-12 12:53
Updated by:
nuu
评论
回复
Logged In: YES
user_id=28345
batch2.batのみを起動したときは正常に動作します(コマンドプロ
ンプトからとTeraTermの両方確認)。
現在は、closettをコメント化し(sendln 'exit'があるため
teratermは終了します)実行していますが
batch2.batは終了せずに、ttermpro.exeのみ終了しています。
PAUSEがコンソールの下端から2~4段目くらいにきた場合のみ、誤終
了するようなので、PAUSE前にCLSすることで、とりあえず回避するこ
とができました。
お忙しい中の対応、ありがとうございました。
2007-04-18 10:07
Updated by:
(del#1144)
Ticket Close date
is changed to
2007-04-18 10:07
状态
Update from
开启
to
关闭
Attachment File List (
0
)
Attachment File List
No attachments
编辑
Add Comment
You are not logged in.
I you are not logged in, your comment will be treated as an anonymous post. »
登录名
Add Comment
预览
Submit
WINDOWS2003サーバ上でバッチを起動するTeraTermマクロを作
成しました。
param2 の終了を待っている間にコンソール上のメッセージが
一杯になりスクロールした瞬間、TeraTermが誤終了してしま
うようです。
下記がマクロの内容です。
Versionは4.51です。
よろしくお願い致します。
connect '192.168.1.1:23'
UsernamePrompt = 'login: '
Username = 'Administrator'
PasswordPrompt = 'password: '
Password = 'password'
Prompt = 'D:\>'
ABEND = 'ERROR'
setsync 1
wait UsernamePrompt
sendln Username
wait PasswordPrompt
sendln Password
wait Prompt
flushrecv
sendln param2
timeout=0
wait Prompt ABEND
if result=1 goto ok
if result=2 goto no
:ok
setexitcode 0
goto end
:no
setexitcode 12
goto end
:end
setsync 0
sendln 'exit'
closett