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

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

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

You are not logged in.

Announcement

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


#1 2016-06-22 18:37:21

あると
Member

FMSでCSV取得・削除を行いたい。

環境
FileMakerPro14Ad(Windows7)
FileMakerServer14(WindowsServer2012)

夕方に送られてくるCSVファイルを、インポートしたい。また、朝方にフォルダを空にしておきたいです。
今まで、出勤してからクライアントでCSVファイルの取り込み・削除を行っていたのですが、FMSで自動で出来ないだろうかと考えております。

そのためには、FileMakerServer上のサーバサイドスクリプトの実行を、スケジュールで稼働が必要になると思われます。
下記を参考に、
サーバ上「C:/Program Files/FileMaker/FileMaker Server/Data/Documents/testdata/test.csv」を配置しました。

CSV取得は、クライアントからサーバ上のスクリプト実行で動いたのを確認してから、スケジュールで設定して動作出来ているのを確認しました。
難航しているのが、CSV削除に関してです。

・スクリプト作成
サーバ上のスクリプト実行[サブスクリプト]

・サブスクリプト
変数「$DelCSV、[Get(ドキュメントパス) & "test\*.csv"]」
Eventを送信「"cmd /c del "  &   Right($DelCSV :Length($DelCSV)-1 」

また、次のようにパスを直接書いてもCSV削除を試しました。
Eventを送信「"cmd /c del "  &   "C:\Program Files\FileMaker\FileMaker Server\Data\Documents\test\*.csv" 」
応用が利くようにフォルダ内のcsv全対象としています。
これでは、CSVファイルが消えません。スクリプトデバッガでは流れを確認ができず困っております。エラーは出ていません。

FMPでサブスクリプトだけを動かし、Get(ドキュメントパス)を使用したもの、パスを直接入力したものではクライアントに置いたファイルは問題なくCSV削除ができました。
「Program Files」などパスにスペースが含まれていることでミスをしているのかと、Quote関数も使用してみましたが削除できませんでした。


手詰まりになり困っております。アドバイスいただけませんでしょうか。
よろしくお願いいたします。

Get ( ドキュメントパス )
https://www.filemaker.com/help/14/fmp/j … 32.94.html
FileMaker Server 上でのサーバサイドスクリプトの実行(FMS14help)
https://fmhelp.filemaker.com/docs/14/ja/fms14_help.pdf

Offline

#2 2016-06-22 19:14:07

Hiro
Member

Re: FMSでCSV取得・削除を行いたい。

「Eventを送信」は サーバサイドスクリプト スケジュールの対象外です。
   http://www.filemaker.com/help/14/fmp/ja … tml#837558

ファイル削除なら、「空の内容」を同名エクスポートする、代案手法とか?

Offline

#3 2016-06-22 19:42:39

あると
Member

Re: FMSでCSV取得・削除を行いたい。

Hiroさん、お返事ありがとうございます。

対象外でしたか、動かない理由はわかりました。
スクリプト作成で「互換」ボタンでみればよかったですね。盲点だった。

空データを上書きで、あっても問題の無いCSVファイルにするのですね。
エクスポートならFMSからでも出来ます。考えてみます。

他の方々の代案もありましたら、お待ちしております。
どうぞ、よろしくお願いいたします。

Offline

#4 2016-06-22 19:53:59

scripter
Guest

Re: FMSでCSV取得・削除を行いたい。

削除はFM内でやる必要ないんで、スケジュールをスクリプトシーケンスにしてインポート後に.batファイルを実行すればいいです。

#5 2016-06-22 19:57:36

Hiro
Member

Re: FMSでCSV取得・削除を行いたい。

> 空データを上書きで、あっても問題の無いCSVファイルにするのですね。
いいえ、空データの上書きで ファイル自体が削除 されるのです。つまり「外部ファイル削除」のFM的な手法です。

Last edited by Hiro (2016-06-22 19:59:44)

Offline

#6 2016-06-23 09:01:09

あると
Member

Re: FMSでCSV取得・削除を行いたい。

scripterさん、Hiroさん、お返事いただきありがとうございます。

そうですね。
FM以外の方法もありました。

空データの上書きでファイルの削除、確認しました。
対象レコード=0でエクスポートでCSVファイルが消えました。
エクスポート→上書き→エクスポート順でフィールド選択無し、エクスポート→上書き→エクスポート順でキャンセル選択でも削除が出来ました。
勉強になります。

次へ進んでいけそうです。
ありがとうございました。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.015 seconds, 7 queries executed - Memory usage: 513.88 KiB (Peak: 518.79 KiB) ]