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

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

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

You are not logged in.

Announcement

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


#1 2017-10-17 19:44:16

k-amatu
Member

MACでテキストを書き出したい

MACでファイル構造をテキストファイルで書き出したいのですが、うまくいかず困っております。

OS:OSX10.8.5
filemaker:Pro Advanced 12.0v3

AppleScript を実行
find /Users/OOOOO/Desktop/OOOOO > itiran

結果:設定データが不良です。与えられたデータが間違っています。
   不明エラー:-17005。


上記の通りとなっております。

作業の全体像は、
1 各ファイルの一覧をテキストに書き出す
2 テキストをfilemakerで読み込む
3 読み込んだ不要部分を取り除き、パスを使用しファイルを挿入
です。
ファイル名はバラバラで、1ファイルずつ1フォルダにわかれております。
ファイル数は予想で10万点ほどです。

お力添えをお願いいたします。

Offline

#2 2017-10-17 22:01:34

Shin
Member

Re: MACでテキストを書き出したい

それらのファイルはどのようなファイルでしょうか。それを入れたフォルダーがさらに1個のフォルダーに入っているのでしたら、それを全てインポートしてしまうと、そのファイルパスが得られます。それを元に1個ずつ処理していけば良いと思いますが。

Offline

#3 2017-10-18 15:59:58

k-amatu
Member

Re: MACでテキストを書き出したい

Shin様
ご回答ありがとうございます。
返答が遅くなり申し訳ございません。

>それらのファイルはどのようなファイルでしょうか。
jpg png pdf xlsx doc
が存在しているのを確認しております。
また、ファイルの中身ではなく、ファイル自体を挿入したいです。

>それを入れたフォルダーがさらに1個のフォルダーに入っているのでしたら、それを全てインポートしてしまうと、そのファイルパスが得られます。
フォルダ構造は、
テーブル名─┬─フィールド内ID番号─┬─格納A───ファイル
                   │                                 ├─格納B───ファイル
                   │                                 …
                   ├─フィールド内ID番号─┬─格納A───
                   │                                 ├─格納B───ファイル
                   │                                 …
                   …
と続いております。
インポート先は1レコードに1つ「フィールド内ID番号」が入っており、「フィールド内ID番号」と同じ名前の以下の階層のファイルを1レコードに入れます。
また、格納A、Bと続いていきますが、格納Aが空で格納Bにはファイルが入っている場合もあります。そして、格納Bに入っているものは格納Bに入れます。

>それを元に1個ずつ処理していけば良いと思いますが。
申し訳ございませんが、私では最初に考えた方法しか思いつきませんでした。
よろしければ教えていただいてもよろしいでしょうか。

Offline

#4 2017-10-18 16:04:12

Shin
Member

Re: MACでテキストを書き出したい

お聞きしたいのは、テーブルの構造ではなく、ストレージの中のディレクトリーの構成です。テーブルの中と同じ構造ですか?

Offline

#5 2017-10-18 16:15:13

k-amatu
Member

Re: MACでテキストを書き出したい

Shin様
ご回答ありがとうございます。

>お聞きしたいのは、テーブルの構造ではなく、ストレージの中のディレクトリーの構成です。テーブルの中と同じ構造ですか?
はい、同じ構造となっております。

お手数おかけしております。ありがとうございます。

Offline

#6 2017-10-18 16:48:54

Shin
Member

Re: MACでテキストを書き出したい

TextWranger
https://itunes.apple.com/jp/app/textwra … 0395?mt=12
というフリーのテキストエディターがあります。そこで適当な新規ファイルを開き、Finder からメインのフォルダーをその中へドラッグ&ドロップすると、ディレクトリー構造のテキストファイルを作ってくれます。それを取り込んで、インデントをみながら FilePath を作っていくといいでしょう。

Offline

#7 2017-10-18 16:56:57

k-amatu
Member

Re: MACでテキストを書き出したい

Shin様
ご回答ありがとうございます。

>フリーのテキストエディターがあります。
はい、最終手段としてそのエディターの存在は把握しております。
ですが、スクリプトで自動化したいと考えております。

何度もご回答いただきまして、ありがとうございます。

Offline

#8 2017-10-18 17:58:08

Shin
Member

Re: MACでテキストを書き出したい

対象となるファイルが、テキストファイル、または、画像ファイル(ピクチャまたはムービー)のみでしたら、インポートを利用してファイルパスを取得できますが、それ以外のファイルを認識しませんので、外部の仕組みを使うしかないでしょう。複数のディレクトリーの階層を一挙に取り出すユーティリティーはMacOS には見つけられませんので、1ディレクトリーの中のリストを出すのでしたら、AppleScript や cmd ls などで可能なので、それを繰り返していくしか方法でしょうね。
TexrWrangler で作った階層データを、ファイルの階層構造に持ってくるのは、単なる loop 処理ですので、そんなに難しいことではありません。その取り込む所も自動化する必要があるのですか。

Offline

#9 2017-10-19 16:24:25

k-amatu
Member

Re: MACでテキストを書き出したい

Shin様
ご回答ありがとうございます。
返答が遅くなり申し訳ございません。

>1ディレクトリーの中のリストを出すのでしたら、AppleScript や cmd ls などで可能なので、それを繰り返していくしか方法でしょうね。
lsで1つずつ、という方法は成功しておりますので、その方法も候補に入れたいと思います。

>TexrWrangler で作った階層データを、ファイルの階層構造に持ってくるのは、単なる loop 処理ですので、そんなに難しいことではありません。その取り込む所も自動化する必要があるのですか。
TexrWranglerを使用した方法でも成功しておりますので、lsよりTexrWranglerを使用した場合の処理時間が早いようでしたら、TexrWranglerを使用したいと思います。
現在稼働しているデータベースを新しいものへすべてインポートするのですが、できるならすべて自動化したいと思っておりました。

何度もご回答いただきましてありがとうございます。お世話になりました。
それではこれにて解決とさせていただきます。

Offline

#10 2017-10-19 23:25:21

Shin
Member

Re: MACでテキストを書き出したい

tree コマンドも有用かもしれませんよ。
ただ、1度の作業だけなら、TextWrangler での作業が楽では。インデントのタブを、その上位のテキストで書き換えるだけです。1行のタブ区切りデータを繰り返し変数に分割して格納しておきます。次の行を読み取り、loop でタブ毎の情報を変数の情報と比較しながらフルパスを作っていきます。これをloopで回せば良いです。情報の置き換えだけですので、簡単な処理でしょう。最後に、最後にサフィックスが付いてる行のみを抽出すれば、ファイルのパスが得られます。
これを使えば、ファイルを取り込めるはずです。

Offline

#11 2017-10-20 10:59:33

qb_dp
Member

Re: MACでテキストを書き出したい

mdfindコマンド が良さそうですよ。サブディレクトリも検索し、フルパスを返してくれます。

mdfind -onlyin /Applications/ -name pdf

mdfind(1) Mac OS X Manual Page : https://developer.apple.com/legacy/libr … ind.1.html

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.011 seconds, 7 queries executed - Memory usage: 546.63 KiB (Peak: 567.54 KiB) ]