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

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

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

You are not logged in.

Announcement

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


#1 2016-12-14 15:19:36

工事
Guest

フォルダ迄のパス取得

FMPro12
デスクトップや外付HDに多くのフォルダがあります。
それらを開くスクリプトを作成したいのですが、
その前にフォルダまでのパスを自動取得する方法が分かりません。
フォルダ登録フィールドとパスフィールドは作成しました。
宜しくお願い致します。

#2 2016-12-14 17:18:43

Shin
Member

Re: フォルダ迄のパス取得

そのフォルダーのプロパティーかインフォメーションを見れば良いのでは。

Offline

#3 2016-12-14 17:49:19

旅人
Member

Re: フォルダ迄のパス取得

あなたが作ったフォルダの場所はFMには分かりませんよね。
逆に、イベント送信でFMからフォルダを作れば・・・

Offline

#4 2016-12-15 10:05:08

工事
Guest

Re: フォルダ迄のパス取得

フォルダーのプロパティでは場所と名称が見ることができました。
これをコピー&ペーストするしかないのでしょうか。
スクリプトなどで取得はできないのでしょうか。

Eventを送信を試しましたが、ファイルを開くでファルダ―を開くことはできるのでしょうか。

#5 2016-12-15 10:17:46

旅人
Member

Re: フォルダ迄のパス取得

たぶんWindowsですよね。私よくわからない。
ここの過去の質問にEvent送信でフォルダを作ったりするものがあります。
先にフォルダパスをフィールドに入れておくと、その場所にフォルダが
作られるはずです。
上の検索ボタンから検索してみてください。

Offline

#6 2016-12-15 11:02:39

Shin
Member

Re: フォルダ迄のパス取得

qb_dp さんのサイトに,ファイルのパスを取得するユーティリティーがあったと思います。それのオプションでサブディレクトリのパスも取れたかも

Offline

#7 2016-12-15 11:43:05

tim
Guest

Re: フォルダ迄のパス取得

コマンドプロンプトで
dir %userprofile%\desktop /ad /b /s > desktop.txt
とすると全フォルダがテキストファイルに入るので、それをインポートする。

フォルダを開くのはイベント送信で
explorer "path"

#8 2016-12-15 12:32:05

旅人
Member

Re: フォルダ迄のパス取得

あっ、既にあって中身も入っているフォルダを開きたいということか・・・
そのフォルダにテキストファイルや画像ファイルが1個でも入っているのなら
フォルダ一括インポートでパスフィールド(常時ユニーク制限)にパスだけを
インポートして、計算でフォルダパスに変換して「URLを開く」で開くとか。

Offline

#9 2016-12-15 13:54:25

旅人
Member

Re: フォルダ迄のパス取得

>パスフィールド(常時ユニーク制限)
フォルダインポート可能なファイルが複数ある場合ダメですね。
フォルダパスの計算値自動入力のユニーク値制限です。

Offline

#10 2016-12-15 14:11:43

qb_dp
Member

Re: フォルダ迄のパス取得

Windows(explorer)で選択中のフォルダのパスを取得したいのでは?
コレは、中々難しいでしょう。

FileMakerからの操作でフォルダのパスを取得するには、
「スクリプト:ディレクトリの取得」が、求めている動作に近いのでは?
※ただし、「スクリプト:ディレクトリの取得」は、FileNaker Pro 14以降です。
「スクリプト:ディレクトリの取得」で得られるパスは、FileMaker形式のパス。

FileNaker Pro 12で同じようなことをするには、ScriptMakerPS(プラグイン)を使うとカンタンです。(Windows限定)

変数を設定 [$dir;
SMPS_Exe( 
"
$obj = New-Object -ComObject Shell.Application;
$f = $obj.BrowseForFolder(0, \"フォルダを選択してください。\", 0, 0);
$f.Self.Path;
" )]

注意:
上記で得られるパスは、DOS形式になります。

ScriptMakerPS:FileMakerのフィールドに記述した「PowerShell」を実行し、戻り値を取得。
https://sites.google.com/site/scriptmakerps/

Offline

#11 2016-12-15 14:36:40

qb_dp
Member

Re: フォルダ迄のパス取得

ん!?
勘違いしていたかも、指定したディレクトリのサブディレクトリも含めたすべてのディレクトリのフルパスを取得したい?かなぁ?

以下の例では、フォルダ「D:\!TEMP」内のすべてのフォルダのフルパスを取得します。

ScriptMakerPS(プラグイン)を使うとカンタンです。(Windows限定)を使います。

変数を設定 [$dir;
SMPS_Exe( 
"
Get-ChildItem 'D:\!TEMP' -Recurse * | ? { $_.PSIsContainer } | % { $_.FullName }
" )]

ScriptMakerPS:FileMakerのフィールドに記述した「PowerShell」を実行し、戻り値を取得。
https://sites.google.com/site/scriptmakerps/

Last edited by qb_dp (2016-12-15 14:38:03)

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 524.27 KiB (Peak: 529.17 KiB) ]