Develop and Download Open Source Software
Login
Create Account
Help
MY SF.JP
Find Software
Magazine
Develop
Git
Software
People
PersonalForge
Magazine
Wiki
SourceForge.JP
>
Find Software
>
Tera Term
>
Forums: View Forum
Tera Term
Summary
Project Summary
Developer Dashboard
Project Reviews
Web Page
Developers
Feed list
Statistics
History
Project Images
Search Keywords
News
List news
Help
Downloads
List Files
Help
Source Code
Guide
Browse CVS
Browse SVN
Help
Wiki
show FrontPage
Title index
Recent changes
Wiki Search
Help
Docs
List Docs
Help
Forums
List Forums
Open Discussion (88)
Help (238)
Help
Lists
list of ML
ttssh2-commit
Help
Ticket
Ticket List
Milestones List
Types List
Components List
Frequently use Ticket Lists/RSS
Submit New Ticket
Help
Back to Forum List
Back to this Forum
RSS for this Forum
RSS for this Thread
Discussion Forums:
Open Discussion
Search this forum:
Forum posts/thread author names
displayed like this
are non-Login Users' posts (Post from non SourceForge.JP user).
Thread Title:
実行コマンドの結果解析
Subject:[#52812]
実行コマンドの結果解析
Date:2010-09-08 19:48
By:
Yutaka Hirata (yutakapon)
ちょっと業務でハマっていたので、教えてください。
やりたいことは以下のとおりです。
目的:コマンドを実行して、その実行結果(一行)を受信し、その内容を解析する。
コマンド名: dotest
実行結果例: 0000: 01020304 06070809 ; foo
ようするに、"dotest"プログラムを実行して、その結果が1つの行で返ってくるので、その内容を加工したい、ということです。そのためには、実行結果をいったんバッファに格納する必要があります。
こうした用途を達成したい場合、どのようにマクロを記述するのが適切でしょうか?
1.recvlnを使う
flushrecv
sendln 'dotest'
recvln
messagebox inputstr 'recvln'
たとえば、recvlnを使い、上記のように書くと、おおむねは期待通りに動作するのですが、まれに受信に失敗することがあります。recvlnは改行コード(0x0a)で判断するので、sendlnでコマンドを送り、コマンド名がエコーバックされたときの改行を拾う場合があるのかと思っています。
2.waitregexを使う
sendln 'dotest'
waitregex '0000: .*\n'
messagebox inputstr 'recvln'
正規表現を使って、コマンド投入後、一行データを待つというふうにすると、これもだいたい動くのですが、まれに waitregex がいつまでも返ってこない(永遠に待っている)ことがあります。
もっとスマートなやりかたがあれば、ご教示願います。
Post a message to this thread:
(follow up to message [#52812])
You could post if you were
[logged in]
OpenSource Downloads
1
7-Zip (4,252)
2
Tera Term (2,377)
3
CrystalDiskInfo (1,879)
4
HandBrake Japanese Language Version (1,346)
5
BathyScaphe (1,292)
6
mixfont-mplus-ipa (930)
7
CrystalDiskMark (790)
8
TortoiseSVN (776)
9
FFFTP (737)
10
MergeDoc (697)
11
Media Player Classic - Home Cinema (674)
12
ffdshow (594)
13
Wireshark (479)
14
FreeMind (432)
15
FileZilla (393)
More >>
Subject:[#52812] 実行コマンドの結果解析
Date:2010-09-08 19:48By: Yutaka Hirata (yutakapon)やりたいことは以下のとおりです。
目的:コマンドを実行して、その実行結果(一行)を受信し、その内容を解析する。
コマンド名: dotest
実行結果例: 0000: 01020304 06070809 ; foo
ようするに、"dotest"プログラムを実行して、その結果が1つの行で返ってくるので、その内容を加工したい、ということです。そのためには、実行結果をいったんバッファに格納する必要があります。
こうした用途を達成したい場合、どのようにマクロを記述するのが適切でしょうか?
1.recvlnを使う
flushrecv
sendln 'dotest'
recvln
messagebox inputstr 'recvln'
たとえば、recvlnを使い、上記のように書くと、おおむねは期待通りに動作するのですが、まれに受信に失敗することがあります。recvlnは改行コード(0x0a)で判断するので、sendlnでコマンドを送り、コマンド名がエコーバックされたときの改行を拾う場合があるのかと思っています。
2.waitregexを使う
sendln 'dotest'
waitregex '0000: .*\n'
messagebox inputstr 'recvln'
正規表現を使って、コマンド投入後、一行データを待つというふうにすると、これもだいたい動くのですが、まれに waitregex がいつまでも返ってこない(永遠に待っている)ことがあります。
もっとスマートなやりかたがあれば、ご教示願います。