Auf dem Mac Big Sur scheint JSL eine Datei zu erkennen, die auf das Löschen einer oder mehrerer Dateien hinweistHallo,
Ich bin verwirrt über die Erkennung gelöschter Dateien durch JSL (JMP 16.0.0 auf einem Mac Big Sur 11.6.8). Ich habe einen Ordner mit 8 Dateien erstellt und das folgende Skript ausgeführt:
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 );
);
Das Protokoll zeigt an, dass 8 Dateien erkannt wurden (siehe Anhang, erster Durchlauf). Dann habe ich eine Datei im Ordner gelöscht und das Skript erneut ausgeführt. Das Protokoll zeigt immer noch an, dass 8 Dateien vorhanden sind, und enthält ein „“, um anzugeben, dass eine gelöscht wurde (siehe Anhang, zweiter Durchlauf). Wenn ich mit 8 Dateien von vorne anfange und 6 lösche, werden 3 erkannt, von denen eine „“ ist. Vielleicht weist „“ also auf eine temporäre Datei hin, die darauf hinweist, dass Dateien gelöscht wurden.
Ist dies ein bekanntes Verhalten von JSL/JMP auf einem Mac oder mit Big Sur? Wie kann ich vermeiden, das Element „“ in die Zählung und in die Liste aufzunehmen?
Danke für deinen Beitrag.

Mac OSQualitäts- und VerfahrenstechnikBetreff: Auf dem Mac scheint Big Sur JSL eine Datei zu erkennen, die auf das Löschen einer oder mehrerer Dateien hinweistDanke, dass du mich markiert hast, @Craige_Hales . Ich kann bestätigen, dass dies ein Fehler in JMP war, der mit der unsichtbaren Datei .DS_Store zusammenhängt, die auf dem Mac erscheint, um Verlaufsinformationen für einen Ordner zu speichern. Ich kann auch bestätigen, dass das Problem in JMP 17 behoben wurde, das in ein paar Monaten veröffentlicht wird. Vielen Dank für die nette Problemumgehung!
Betreff: Auf dem Mac scheint Big Sur JSL eine Datei zu erkennen, die auf das Löschen einer oder mehrerer Dateien hinweistVielen Dank für Ihre Hilfe. Ich habe herausgefunden, dass es sich bei der mysteriösen Datei um eine versteckte .DS_Store-Datei handelt, die ein Mac-Verzeichnis belegt, wenn eine oder mehrere Dateien gelöscht werden, was ich in meinen Verzeichnissen mit Terminal bestätigt habe ls -a um versteckte Dateien aufzudecken. Ich habe die Dateiliste in meinem vorherigen Skript umbenannt und dann Ihre vorgeschlagene Syntax geändert, um die Datei .DS_Store herauszufiltern (siehe Blau Skript unten ). Das Skript zählt Dateien ordnungsgemäß und vermeidet die mysteriöse Datei „“.
Das Ziel besteht darin, die Dateiverarbeitung für einen ausgewählten Ordner mit Zieldateien zu automatisieren. Ich habe an einem alternativen Ansatz gearbeitet, um nur Dateien mit der gewünschten Erweiterung .txt auszuwählen, was möglicherweise auch andere „kontaminierende“ Dateien in einem Verzeichnis ausschließt, aber da Ihr Vorschlag funktioniert hat, werde ich wahrscheinlich damit fortfahren.
Ich würde dies eher einen Mac-Fehler als einen JMP-Fehler nennen, aber ich denke, das ist fraglich.
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 );
);
Betreff: Auf dem Mac scheint Big Sur JSL eine Datei zu erkennen, die auf das Löschen einer oder mehrerer Dateien hinweistKlingt nach einem Fehler, vielleicht in JMP. Als Workaround ungetesteter Code (hier kein 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