Mac では、Big Sur JSL が 1 つ以上のファイルの削除を示すファイルを検出するようですやあ、
JSL (Mac Big Sur 11.6.8 上の JMP 16.0.0) による削除されたファイルの検出に困惑しています。 8 つのファイルを含むフォルダーを作成し、次のスクリプトを実行しました。
Names Default To Here( 1 );
TargetDir = Pick Directory();
TargetFiles = Files In Directory( TargetDir );
N_TargetFiles = N items(TargetFiles);
show(N_TargetFiles);
For( i = 1, i <= N Items( TargetFiles ), i++,
sample = Left( TargetFiles[i], Contains( TargetFiles[i], "." ) - 1 );
Show( sample );
);
ログは、8 つのファイルが検出されたことを示しています (添付の最初の実行を参照)。 次に、フォルダー内のファイルを 1 つ削除し、スクリプトを再度実行しました。 ログはまだ 8 つのファイルが存在することを示しており、1 つが削除されたことを示す "" が含まれています (添付の 2 回目の実行を参照)。 8 個のファイルからやり直して 6 個のファイルを削除すると、3 個が検出され、そのうちの 1 つが "" であるため、"" はファイルが削除されたことを示す一時ファイルを示している可能性があります。
これは、Mac または Big Sur での JSL/JMP の既知の動作ですか? カウントとリストに「」アイテムを含めないようにするにはどうすればよいですか?
ご意見ありがとうございます。

マックOSスクリプティングRe: Mac で Big Sur JSL が 1 つ以上のファイルの削除を示すファイルを検出するようですおそらくJMPのバグのように聞こえます。 回避策として、テストされていないコード (ここには Mac はありません):
x = {"a", "b", "", "c"};
Show( x );
y = Filter Each( {filename}, x, filename != "" );
Show( y );
x = {"a", "b", "", "c"};
y = {"a", "b", "c"};
@Audrey_Shull
Re: Mac で Big Sur JSL が 1 つ以上のファイルの削除を示すファイルを検出するようですどうもありがとうございました。 謎のファイルは、1 つまたは複数のファイルが削除されたときに Mac ディレクトリを占有する隠し .DS_Store ファイルであることを発見しました。これは、ターミナルを使用して自分のディレクトリで確認しましたls -a隠しファイルを明らかにします。 以前のスクリプトでファイル リストの名前を変更し、提案された構文を変更して .DS_Store ファイルを除外しました (青い以下のスクリプト)。 スクリプトはファイルを適切にカウントし、謎の "" ファイルを回避します。
目標は、ターゲット ファイルを含む選択したフォルダーのファイル処理を自動化することです。 ディレクトリ内の他の「汚染」ファイルも除外される可能性がある、目的の .txt 拡張子を持つファイルのみを選択する代替アプローチを使用していましたが、あなたの提案が機能したため、おそらく続行します。
私はこれを JMP のバグではなく Mac のバグと呼んでいますが、それは議論の余地があると思います。
Names Default To Here( 1 );
TargetDir = Pick Directory();
Files = Files In Directory( TargetDir );
<FONT color="#0000FF">TargetFiles = Filter Each( {filename}, Files, filename != ".DS_Store" );</FONT>
N_TargetFiles = N Items( TargetFiles );
Show( N_TargetFiles );
For( i = 1, i <= N Items( TargetFiles ), i++,
sample = Left( TargetFiles[i], Contains( TargetFiles[i], "." ) - 1 );
Show( sample );
);
Re: Mac で Big Sur JSL が 1 つ以上のファイルの削除を示すファイルを検出するようですタグ付けしてくれてありがとう@Craige_Hales . これは、フォルダの履歴情報を保存するために Mac に表示される不可視の .DS_Store ファイルに関連する JMP のバグであることが確認できました。 また、数か月後にリリースされる JMP 17 で対処されていることも確認できます。 素敵な回避策を提供していただきありがとうございます。