Scripting

Top  Previous  Next

 

FileLocator Pro prend en charge le scripting actif pour personnaliser les algorithmes de recherche de nom de fichier et de contenu du moteur de recherche.

 

ScriptingTab

 

Lorsqu'un utilisateur lance une recherche, FileLocator Pro :

Regarde si un script est actif

Crée le moteur de recherche pour scripting actif, comme spécifié par le Prog ID entré dans le champ "moteur".

Charge le script dans le moteur de scripting.

 

Une fois que le script est chargé, FileLocator Pro lancera alors une fonction spécifique dans le script, dépendament du type de script :

Si le script est un script de "nom de fichier", la fonction appelée sera "isValidFileName" et adoptera le nom et l'emplacement des fichiers dans les paramètres.

Si le script est un script de "contenant texte", la fonction appelée sera "isValidLine" et adoptera le numéro de la ligne et le texte dans les paramètres.

 

Les scripts sont seulement appelés si les autres critères de recherche sont satisfaits (nom ou expressions contenues dans le texte). Les fonctions doivent retourner une valeur booléenne vraie ou fausse pour indiquer si le fichier ou la ligne est valide ou non.

 

Exemples :

 

Note : Veuillez ouvrir le sous-dossier "Sample Scripts" dans le dossier d'installation principal de FileLocator Pro pour visualiser quelques exemples de scripts.

 

Script lecture seule

 

L'exemple suivant montre un échantillon d'un script de nom de fichier qui limite les fichiers relevés à ceux qui sont en lecture seule. Note : d'autres attributs peuvent être utilisés, par exemple utiliser "32" au lieu de "1" pour trouver des fichiers archivés.

 

var objFSO = new ActiveXObject( "Scripting.FileSystemObject" );

 

function isValidFileName( strPath, strFileName )

{

 var bIsValid = false;

 try

 {

         var objFile = objFSO.GetFile( strPath + strFileName );

         bIsValid = ( objFile.Attributes & 1 );

 }

 catch( e )        {}

 return bIsValid;

}

 

Notez que les blocs try...catch ont été utilisés pour éviter que les exceptions ne soient relancées dans le moteur de recherche. Si une exception est trouvée et n'est pas attrapée par le script, la recherche s'arrêtera.

 

Script dossiers seulement

 

Un autre exemple montre comment localiser seulement les dossiers.

 

var objFSO = new ActiveXObject( "Scripting.FileSystemObject" );

 

function isValidFileName( strPath, strFileName )

{

 var bIsValid = false;

 try

 {

         bIsValid = objFSO.FolderExists( strPath + strFileName );

 }

 catch( e )        {}

 return bIsValid;

}

 

Script d'expression NOT

 

Voici un exemple de comment mettre en place un NOT lors d'une recherche de contenus en utilisant le moteur de recherche JScript (l'expression NOT à trouver est entrée dans le champ "contenant texte" de l'onglet Scripting) :

 

// An example of a NOT expression, this time using JScript's built in Regular Expression object.

 

var regExp = new RegExp( SearchParms.ContainingTextCustomParm );

 

function isValidLine( nLineNum, strText )

{

 var bIsValid = true;

 try

 {

         bIsValid = !regExp.test( strText );

 }

 catch( e )        {}

 return bIsValid;

}

 

Notez comment l'objet d'expressions rationnelles est créé à l'extérieur du corps de fonction afin qu'il soit seulement créé puis compilé une fois par recherche, bien qu'il soit possible de le mettre en place plusieurs fois.

 

Exclure des répertoires

 

Une autre variation de l'expression NOT (voir ci-dessous) est pour exclurez certains répertoires de la recherche. Par exemple, pour exclure le répertoire Windows d'une recherche, l'expression NOT sera associée à 'C:\\Windows'. Voici une exemple de la mise en place d'un NOT pour un emplacement (l'expression NOT à trouver est entrée dans le champ "nom de fichier" dans l'onglet Scripting) :

 

var regExp = new RegExp( SearchParms.FilenameCustomParm );

 

function isValidFileName( strPath, strFileName )

{

 var bIsValid = true;

 try

 {

         bIsValid = !regExp.test( strPath );

 }

 catch( e )        {}

 return bIsValid;

}

 

Notez l'utilisation de deux "\\" pour représenter un seul "\" dans 'C:\\Windows' puisque le slash est le caractère d'échappement utilisé dans les expressions rationnelles.

 

Objet des paramètres de recherche

 

Les scripts peuvent accéder à presque n'importe quel autre critère de recherche dans l'objet 'SearchParms". Par exemple, le script isValidFileName pourrait utiliser une valeur personnalisée de SearchParms entrée dans l'onglet Scripting comme ceci :

 

var strCustom = SearchParms.FilenameCustomParm;

 

 

SearchParms donne accès aux critères suivants :

 

CurrentFileName (Fil) - Nom de fichier actuellement traité.

 

CurrentFilePath (Fil) - Chemin du fichier actuellement traité.

 

ContainingText (Fil) - Valeur entrée dans le champ "contenant texte".

 

ContainingTextCustomParm (Fil ) - Valeur entrée dans le champ "paramètre personnalisé" pour un script contenant du texte.

 

ContainingTextRegExp (Booléenne) - Indique si l'expression rationnelle du texte contenu a été désactivée.

 

EOLUnix (Booléenne) - Indique si l'option EOL Unix a été activée.

 

EOLMac (Booléenne) - Indique si l'option EOL Mac a été activée.

 

Filename (Fil) - Valeur entrée dans le champ "nom de fichier".

 

FilenameCustomParm (Fil) - Valeur entrée dans le champ "paramètres personnalisés" pour le script de nom de fichier.

 

FilenameExcludeExp (Booléenne) - Indique si "l'expression NOT spécifiée" a été activée.

 

FilenameRegExp (Booléenne) - Indique si l'expression du nom de fichier a été activée.

 

LookIn (Fil) - Valeur entrée dans le champ "regarder dans".

 

MatchFilenameCase (Booléenne) - Indique si l'option de respect de la casse a été activée.

 

MatchContentsCase (Booléenne) - Indique si l'option de respect de la casse pour le texte contenu a été activée.

 

ModifiedAfter (Date) - Valeur entrée dans le champ "modifié après".

 

ModifiedBefore (Date) - Valeur entrée dans le champ "modifié avant".

 

SearchContents (Booléenne) - Indique si la recherche se fait dans le contenu des fichiers.

 

SearchOnePhase (Booléenne) - Indique si la "recherche en une phase" a été activée.

 

SearchSubFolders (Booléenne) - Indique si la "recherche dans les sous-dossiers" a été activée.

 

SizeMoreThan (Entier) - Valeur entrée dans le champ "taille supérieure à".

 

SizeLessThan (Entier) - Valeur entrée dans le champ "taille inférieure à".


Copyright © 2021 Mythicsoft Ltd. All rights reserved.
Help file version: 9.0

PDF and CHM versions of this help file are available here:
http://mythicsoft.com/filelocatorpro/help