初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2016-09-23 11:41:43

ていく
Guest

FileMakerでコマンドプロンプトの操作について

OS:[win7]
FileMaker Ver:[pro13 advanced]

お世話になります。

FileMakerのスクリプトで「IPアドレス」フィールドの値を変数にし、「Eventを送信」でコマンドプロンプトを開き
「ping "IPアドレス"」を実行したいのですが可能でしょうか?

FileMakerでコマンドプロンプトを扱うサイトを参考に「Eventを送信」のテキストを弄ってみたのですが出来ませんでした。

よろしくお願い致します。

#2 2016-09-23 12:21:28

scripter
Guest

Re: FileMakerでコマンドプロンプトの操作について

"ping " & IPアドレス

#3 2016-09-23 12:48:39

ていく
Guest

Re: FileMakerでコマンドプロンプトの操作について

scripter様ありがとうございます。

「Eventを送信」の指定ですが、テキストの中身を「cmd /"ping" & $IPアドレス」にしてみましたが
コマンドプロンプトは開かれるのですがping IPアドレスが命令文に表示されません。

テキストにはどのように入力すればよろしいでしょうか?
お手数ですがよろしくお願い致します。

#4 2016-09-23 13:03:17

Hiro
Member

Re: FileMakerでコマンドプロンプトの操作について

>テキストにはどのように入力すればよろしいでしょうか?
テキスト欄でなく計算欄にscripterさんの式を設定します。

Offline

#5 2016-09-23 13:33:20

ていく
Guest

Re: FileMakerでコマンドプロンプトの操作について

Hiro様ありがとうございます。

お二人に教えていただいたおかげでコマンドプロンプトでpingを実行させることが出来ました。
cmdの指定がなくても計算の場合コマンドプロンプトが実行されるんですね。

実行完了後、自動でコマンドプロンプトが閉じてしまうのですが仕様でしょうか?
もしよろしければ実行完了後もコマンドプロンプトが閉じられない方法がありましたら教えていただけると大変助かります。
よろしくお願い致します。

#6 2016-09-23 14:36:41

qb_dp
Member

Re: FileMakerでコマンドプロンプトの操作について

コマンドプロンプトを残したい場合は、「cmd」経由で、
"cmd /k ping " & IPアドレス
こう書きます。

以下参考まで:
以下のようにすると戻り値を取得出来ます。
■例1
フィールド設定 [test::f1; ""]
コピー [選択; test::f1]
Event を送信 [「aevt」; 「odoc」; "cmd /c ping " & IPアドレス & " | clip"]
変数を設定 [$n; 値:0]
Loop
スクリプト一時停止/続行 [間隔(秒): 1]
貼り付け [選択; test::f1]
Exit Loop If [ not IsEmpty ( test::f1 ) or $n > 30]
変数を設定 [$n; 値:$n+1]
End Loop

■例2
プラグインを使うと、スクリプトの記述が簡単になります。

変数を設定 [$Result; 値:SMPS_Exe( "ping " & IPアドレス )]

ScriptMakerPS | FileMaker Plugin for Windows : https://sites.google.com/site/scriptmakerps/

Last edited by qb_dp (2016-09-23 15:03:23)

Offline

#7 2016-09-23 14:46:02

scripter
Guest

Re: FileMakerでコマンドプロンプトの操作について

cmdの指定がない場合はコマンドプロンプトでなくプログラム自体が実行しています。

閉じなくするには
"cmd /k ping " & IPアドレス

#8 2016-09-23 15:43:32

Hiro
Member

Re: FileMakerでコマンドプロンプトの操作について

PING結果をダイヤログに表示し、念のためFMフィールドへ張り付けられるようクリップボードへコピーする、
Event送信の別案。

計算欄に下式を設定。

"mshta \"javascript:
clipboardData.clearData('Text');
var WshShell,exCommand,oExec,R,IP;
WshShell=new ActiveXObject('WScript.Shell');
IP='" & IPフィールド & "';
exCommand='ping '+IP;
oExec = WshShell.Exec(exCommand);
R=oExec.Stdout.ReadAll();
alert(R);
clipboardData.setData('Text',R);
WshShell=null;
close();\""

Offline

#9 2016-09-23 17:55:01

ていく
Guest

Re: FileMakerでコマンドプロンプトの操作について

qb_dp様scripter様Hiro様
ありがとうございます。
実行後も表示されるようなりました。

戻り値のこともお伺いしたかったので大変助かりました。
FileMakerからコマンドプロンプトが処理できれば作成の幅が広がりそうで楽しみです。

本当にありがとうございました。

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 518.41 KiB (Peak: 523.31 KiB) ]