みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
みなさん、こんにちは。
Win版V15を使用しています。
Event送信を利用して(あるいは別の方法で)、特定のファイルを削除することがしたいのですが。
その時のファイルは、フィールドに入っているパスとファイル名を取得したものにしたいのですが、
そのようなことは出来ますか?
新しいバージョンならファイルの削除というスクリプトステップがあるのですが、それば無い場合、
フィールドに入っているファイルパスを利用して、ファイルを削除することは出来ますか?
よろしくお願いします。
Offline
殻のフィールドを「フィールド内容のエクスポート」すれば削除されrます。
himadanee さん、いつもありがとうございます。
例えばデスクトップにあるaaa.csvファイルを削除するときに
次のようなスクリプトステップを書きました。
フィールドへ移動[test::textフィールド]
フィールド設定[test::textフィールド;""]
変数設定$Filepath=get(デスクトップパス) & "aaa.csv"
フィールド内容のエクスポート[$Filepath;フォルダ作成オフ]
このように記述したのですが、デスクトップにあるaaa.csvファイルは削除できませんでした。
どこのやり方が悪いのでしょう?
よろしくお願いします。
Offline
例えば、
全レコードを表示
対象外を表示
変数を設定
エクスポート
とします。フィールド内容のエクスポートではなく、0個のレコードを上書きでエクスポートする形にします。
Last edited by Shin (2020-11-05 00:50:40)
Offline
[フィールド内容のエクスポート]で削除する場合は
[フィールド内容のエクスポート]のスクリプトステップだけで消せます。
(レコードやフィールドの状態には左右されません)
パスの指定を変数で行うなら以下の2ステップです。
[変数を設定]
[フィールド内容のエクスポート]
フィールド内容のエクスポートではフィールドは指定しません。
追記)
デスクトップやシステムドライブの直下などのファイルを削除する際にOSのお節介でダイアログがでる場合など
パスによっては削除できないことがあるようです。(FileMaker Go はダメっぽいですね)
まずはパス(ファイル名等)が正しいかどうか確認することですかね。
Last edited by Moz (2020-11-05 08:06:05)
Offline
そうか、テストしないで書いてしまい「オブジェクトフィールドでないとだめだったかなあ?」などと思ってましたが、無指定が肝でしたか。
Win10だとシステムフォルダ(デスクトップとかドキュメントとかの既存のフォルダはほとんど該当)に書き込むのにあらかじめOS側で許可設定しておく、など色々条件ができてますね...
削除対象のファイルが開かれてると削除不可能ですし。
FM19ならOSパスへの変換関数が標準になったし、Win限定ならEvent送信の方が確実かもしれない?どっちみち開いているファイルは削除できないから、あんまり変わらないか...
https://help.claris.com/ja/pro-help/#pa … -path.html
Shinさん、Moz さん、himadanee さん、回答ありがとうございました。
なるほどねぇ、今回はMozさんの方法を採用して、無事正常に削除できました。
どうもありがとうございました。
Last edited by nice-guy (2020-11-05 13:15:44)
Offline
Pages: 1
[ Generated in 0.004 seconds, 9 queries executed - Memory usage: 514.09 KiB (Peak: 519 KiB) ]