みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

teratermで、ファイル名をinputstrに代入する

teratermを使って、ftpでputさせたいと思います。
OSは、Linuxベースです。

コマンドラインに於いて
$ ls ho*
hoge1.txt hoge2.txt   ← この1行を、inputstrに代入させたい

自分で作ってみたのは、こんな感じ
timeout = 5
sendln 'ls ho*'
result = 0
wait 'ho'
if result=1 recvln
statusbox result 'result '
pause 1
; ダイアログボックスを閉じる
closesbox
messagebox inputstr 'inputstr '

これを実行させると、「$ ls ho*」がinputstr に入っている。何故か?
waitによって期待していた文字列(hoge1.txt hoge2.txt)を、inputstr に入れたいと思います。

どうしたらいいでしょうか。

投稿日時 - 2009-09-03 09:56:20

QNo.5258894

すぐに回答ほしいです

質問者が選んだベストアンサー

waiitしたときに、画面に表示される ls ho* も受信していますので、
以下のようにすればよいかと。
1案
ls ho*を含まない文字で待つ
wait 'txt' のようにする。
2案
最初に、ls ho*の分を読んでしまう。
sendln 'ls ho*'
recvln  ・・・・この行を追加
result = 0

以上の何れかの方法でいかがでしょうか。

投稿日時 - 2009-09-03 13:52:52

お礼

ご回答を戴きまして、まことに有難う御座います。

recvln  ← その手があったかぁ!


有難う御座います。

投稿日時 - 2009-09-18 09:00:59

ANo.2

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

teratermのマクロでってことですか?
ふつうにLinuxにシェルスクリプト書いておく方がよくないですか?

投稿日時 - 2009-09-03 12:48:05

お礼

ご回答を戴きまして、まことに有難う御座います。

一連の動作で、ホスト側の操作とクライアント側の操作をするため、シェルスクリプトで操作するのには無理があります。

投稿日時 - 2009-09-18 08:57:57

あなたにオススメの質問