フォルダを検索しています。フォルダー名を入力として受け入れるコードがあります。フォルダーが2つのパス(pathAとPathB)のいずれかに存在するかどうかを確認したいと思います。
私もこれを達成できましたが、課題は、
これら2つのパスに多くのフォルダーがあり、これらの名前を事前に知りません。
使ってみた
filelist=Files In Directory( path1, recursive);
しかし、これはフォルダでは機能しません。
Re: フォルダを探しています。微調整が必要でしたが、ありがとうございました! 必要なものを手に入れた
Re: フォルダを探しています。確かに、ほぼこのJSLのテストされていないビットのように...
If( Is Directory( path || candidates[i] ),
Write( "\!n", path || candidates[i] ); // <<<<<< do something with a dir
descend( path || candidates[i] ); // optionally, recurse
, // else
Write( "\!n", path || candidates[i] ); // <<<<<< do something with a file
)
isFile(...) を使用して、項目が実際にファイルであり、OS が表示する可能性のある他の奇妙なものではないことを確認する必要がある場合があります。
Re: フォルダを探しています。フォルダーだけでなくファイル名も含めるようにコードを修正できますか?
ありがとう
Re: フォルダを探しています。descend = Function( {path},
{candidates, i},
If( !Ends With( path, "/" ) & !Ends With( path, "\" ),
path = path || "/"
);
candidates = Files In Directory( path ); // not recursive
For( i = 1, i <= N Items( candidates ), i += 1,
If( Is Directory( path || candidates[i] ),
Write( "\!n", path || candidates[i] ); // <<<<<< do something
descend( path || candidates[i] ); // optionally, recurse
)
);
);
descend( "c:\program files" );サブディレクトリを調べたくない場合は、再帰行をコメントアウトします。
Re: フォルダを探しています。あなたのコード例は間違った構文を使用しています。 正しい構文の例を次に示します。
Files In Directory( "$SAMPLE_DATA", Recursive( 1 ) );
返されるリスト内のアイテムは完全なパスであるため、それぞれを調べてターゲット フォルダーを見つけることができます。
Re: フォルダを探しています。これは役に立ちますか?
If( Directory Exists( "$SAMPLE_DATA/Loss Function Templates" ),
"ok",
"missing!"
);