みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
Win7 / FMS13 (近いうちにWindowsServer / FMS16 にのせかえ予定)です。
node.jsで動くhoge.jsと、動作に必要なファイル一式がC:\hogeフォルダに入っていて、
FileMaker内の1つのフィールドにあるURL達を引数にしてバッチを実行したいです。
■URLフィールドの中身
http://hoge/hogehoge.html http://fugafuga/fuga.htm
■実行したいbatファイルの中身
jsがあるフォルダに移動
pushd C:\hoge
js指定とオプションと引数
node.exe src/hoge.js --urls "http://hoge/hogehoge.html http://fugafuga/fuga.htm"
フォルダの散らかり&重複実行阻止のため実行済みのbatファイルを消す
Del /F "%~dp0%~nx0"
まず、フィールド内に上記コードをすべて再現してFMSからbatファイルとしてエクスポート、
別でたたく専用のbatファイルを用意してWindowsのタスクスケジューラーでたたいていく方法に挑みましたが、
csv、TAB区切り、margeなどどれも改行コードが文字になってしまいbatとして実行できるものがエクスポートできませんでした。
引数のためのフィールドは1フィールド、エクスポートするレコードは1レコード毎(1レコード1batファイル)です。
似たようなことを良い方法でやっていらっしゃる方はいませんでしょうか。
C:\hogeの中身をドキュメントパスに置くことは可能です。
よろしくお願いいたします。
Offline
近いうち、ならFM16にしてから作ったほうがいいでしょう。どうせ作り直しになるので。
追加されたテキスト関数で簡単に文字コード/改行コード指定したテキストファイルを生成できます。
Offline
FileMaker Server では、「スクリプト:フィールド内容のエクスポート」が使えないので、「スクリプト:レコードのエクスポート」を使うしかありません。
面倒ですが、一つのバッチファイルの内容を 1行づつ1レコードに分割して「レコードのエクスポート」を行えば改行の問題が解決され実行できるbatファイルを育成出来ます。
別の方法では、以下のアプリケーションを使えば、node.js を「スクリプト:URL から挿入」で実行でき、引数渡し、戻り値の取得も行えます。
サーバーで実行するには、Windows のタスクスケジューラで「ProcessMakerTL.exe」をコンピューターの起動時に実行するようにしておけば良いです。
ProcessMakerTL : https://sites.google.com/site/processmakertl/
また、BaseElements Plugin の BE_WriteTextToFile を使えば、「スクリプト:フィールド内容のエクスポート」と同じような事が出来ます。
検証は、していませんが、おそらくFileMaker Server でも行えます。
BE_WriteTextToFile ? BaseElements Plugin Help Centre :
https://baseelementsplugin.zendesk.com/ … TextToFile
また、未検証ですが、BE_ExecuteSystemCommand で node.js を実行できそうに思います。
BE_ExecuteSystemCommand ? BaseElements Plugin Help Centre :
https://baseelementsplugin.zendesk.com/ … temCommand
Offline
回答ありがとうございます。
>qb_dpさん
上手くいきました。
移行の件もあるので、一旦「1行づつ1レコード~」の方式でbat生成、それを外部バッチからタスクスケジューラでたたく形にしたところ問題なく実行・削除ができました。ありがとうございます!
Offline
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 552.5 KiB (Peak: 579.55 KiB) ]