みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
エクスプローラのようにフォルダ・ファイル一覧を取得したいです。
現在はcmdを使って一覧を取得してloopを使ってレコードに書き込んでいます。
この場合は下記の問題があります。
何かいい方法はありませんでしょうか?
高額は無理ですが多少は費用がかかっても大丈夫です。
・ファイル数が多いと結構時間がかかる
・新しいフォルダ内容を取得の度に全レコードを削除して
取得した一覧を作成しているために
ファイルに別のフィールドに情報を書いても削除されてしまう
・ファイルを共有していますが同時に使用が出来ない
環境 FMP14 FMS14で共有
WIN7
cmdを使って取得した一覧をレコードのインポートで、ファイル名を照合すれば、削除しないでいいのでは。
一覧を一旦別のテーブルで作成してそれをインポートと言うことでしょうか?
それに似たやり方も考えたのですが
結局別テーブルでは全レコードを削除して作成するので
時間がかかってしまいます。
何か他にやり方やプラグイン等はないでしょうか?
ファイル一覧をcsvとしてインポート(照合はファイル名じゃなくフルパスでした)すればいいので別のテーブルは必要ないですが
考えてみたら、ファイル自体が削除されることもありうるんで、一旦インポートして一致するのがなかった分は削除しないといけないですね。総ファイル数が多ければそれなりの時間はかかるかな。
>ファイル一覧をcsvとしてインポート(照合はファイル名じゃなくフルパスでした)すればいいので別のテーブルは必要ないですが
これはどうすればいいのでしょうか?
現在はLoopを使って1レコードずつ作成しているので
インポートの方が早いかもしれません。
一覧をcsvを作成してどこかのファイルに保存して
そのcsvをインポートすると言う意味でしょうか?
そうです。今のLoop用のファイルと同じことだと思いますけど
DIR /B /S %userprofile%\Documents > c:\temp\list.csv
csvといったけどファイル名にコンマがあると面倒そうなので、tabの方がいいですね。
エクスプローラのようにフォルダ・ファイル一覧を取得したいです。
フォルダ・ファイル一覧の取得であれば、BaseElements Plugin という無料のファイルメーカー用プラグインを利用するという方法もあるかと思います。
■プラグインのダウンロードサイト
http://www.goya.com.au/baseelements/plugin
このプラグイン内に含まれる外部関数 BE_ListFilesInFolder を利用すれば希望している一覧の取得ができると思いますよ。
パスの指定にドライブ名を含まないなど、ネイティブ関数とちょっと指定方法が違いますが、それをクリアすれば使い勝手はいいと思います。
■BE_ListFilesInFolder関数のオンラインヘルプ
https://baseelementsplugin.zendesk.com/ … esInFolder
Offline
Pages: 1
[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 514.38 KiB (Peak: 519.28 KiB) ]