Sur Mac Big Sur JSL semble détecter un fichier indiquant la suppression d'un ou plusieurs fichiersSalut,
Je suis perplexe face à la détection des fichiers supprimés par JSL (JMP 16.0.0 sur un Mac Big Sur 11.6.8). J'ai créé un dossier contenant 8 fichiers et exécuté le script suivant :
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 );
);
Le journal indique que 8 fichiers ont été détectés (voir pièce jointe, première exécution). Ensuite, j'ai supprimé un fichier du dossier et exécuté à nouveau le script. Le journal indique toujours que 8 fichiers sont présents et il inclut un "" pour indiquer qu'un a été supprimé (voir pièce jointe, deuxième exécution). Si je recommence avec 8 fichiers et en supprime 6, 3 sont détectés, dont l'un est "", alors peut-être que "" indique un fichier temporaire indiquant que des fichiers ont été supprimés.
Est-ce un comportement connu de JSL/JMP sur un Mac ou avec Big Sur ? Comment puis-je éviter d'inclure l'élément "" dans le décompte et dans la liste ?
Merci pour votre contribution.

macOSScriptRe : Sur Mac Big Sur JSL semble détecter un fichier indiquant la suppression d'un ou plusieurs fichiersCela ressemble à un bogue, peut-être dans JMP. Comme solution de contournement, code non testé (pas de Mac ici):
x = {"a", "b", "", "c"};
Show( x );
y = Filter Each( {filename}, x, filename != "" );
Show( y );
x = {"a", "b", "", "c"} ;
y = {"a", "b", "c"} ;
@Audrey_Shul
Re : Sur Mac Big Sur JSL semble détecter un fichier indiquant la suppression d'un ou plusieurs fichiersMerci beaucoup pour votre aide. J'ai découvert que le fichier mystère est un fichier .DS_Store caché qui occupe un répertoire Mac lorsqu'un ou plusieurs fichiers sont supprimés, ce que j'ai confirmé dans mes répertoires à l'aide de Terminal ls -a pour révéler les fichiers cachés. J'ai renommé la liste de fichiers dans mon script précédent, puis modifié la syntaxe suggérée pour filtrer le fichier .DS_Store (voir bleu scénario ci-dessous ). Le script compte correctement les fichiers et évite le fichier mystère "".
L'objectif est d'automatiser le traitement des fichiers sur un dossier sélectionné contenant des fichiers cibles. Je travaillais sur une approche alternative pour sélectionner uniquement les fichiers avec l'extension .txt souhaitée, ce qui pourrait également exclure d'autres fichiers "contaminants" dans un répertoire, mais puisque votre suggestion a fonctionné, je vais probablement continuer.
J'appellerais cela un bogue Mac plutôt qu'un bogue JMP, mais je suppose que c'est discutable.
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 : Sur Mac Big Sur JSL semble détecter un fichier indiquant la suppression d'un ou plusieurs fichiersMerci de m'avoir tagué, @Craige_Hales . Je peux confirmer qu'il s'agissait d'un bogue dans JMP lié au fichier invisible .DS_Store qui apparaît sur Mac pour stocker les informations d'historique d'un dossier. Je peux également confirmer que cela a été résolu dans JMP 17, qui sera publié dans quelques mois. Merci d'avoir fourni la bonne solution de contournement !