Lorsque vous changez de répertoire avec un changement de répertoire automatique, CD, CDDou pushd commander, TCC devez trouver le répertoire vers lequel vous souhaitez accéder. Pour ce faire, il vérifie d'abord si vous avez spécifié soit le nom d'un sous-répertoire existant sous le répertoire actuel, soit le nom d'un répertoire existant avec un chemin relatif ou complet ou une lettre de lecteur. Si tu as, TCC modifie ce répertoire et n'effectue aucune autre recherche.

 

Cette méthode de recherche nécessite que vous naviguiez manuellement dans l'arborescence des répertoires et que vous saisissiez le nom complet de chaque répertoire vers lequel vous souhaitez accéder. Les recherches étendues dans l'annuaire accélèrent considérablement le processus de navigation en permettant TCC pour trouver le répertoire souhaité, même si vous ne saisissez qu'une petite partie de son nom.

 

Lorsque la première méthode de recherche échoue, TCC essaie de trouver le répertoire que vous avez demandé via le CDPATH variable, puis via une recherche étendue dans l'annuaire. Cette section couvre uniquement les recherches d'annuaire étendues, qui sont plus flexibles et plus couramment utilisées que CDPATH.

 

Les recherches étendues dans l'annuaire utilisent une base de données de noms d'annuaire pour faciliter le passage au répertoire correct. La base de données est utilisée uniquement si les recherches étendues dans l'annuaire sont activées et si la recherche explicite dans l'annuaire et CDPATH La recherche ne parvient pas à trouver le répertoire que vous avez demandé.

 

Une recherche étendue dans l'annuaire trouve automatiquement le chemin correct vers le répertoire demandé et y change si ce répertoire existe dans votre base de données d'annuaire. Si plusieurs répertoires de la base de données correspondent au nom que vous avez saisi, une fenêtre contextuelle apparaît et vous pouvez choisir le répertoire souhaité.

 

Si la directive TCMD.INI EverythingSearch est définie (OPTION / Démarrage / Everything Search), TCC utilisera Tout rechercher (https://www.voidtools.com) au lieu de sa propre base de données pour les recherches floues dans les répertoires. Tout rechercher est plus rapide, mais ne fonctionnera que sur les lecteurs NTFS locaux. Définir EverythingSearch équivaut à définir FuzzyCD=3 (*Nom*). La Take Command le programme d'installation installera Tout rechercher automatiquement.

 

Vous pouvez déplacer et/ou redimensionner la fenêtre de recherche du répertoire. TCC utilisera la nouvelle position et la nouvelle taille la prochaine fois que la fenêtre de recherche dans le répertoire sera invoquée. Vous pouvez également modifier les touches utilisées dans la fenêtre contextuelle avec directives de mappage de clés.

 

Pour utiliser les recherches d'annuaire étendues, vous devez les activer explicitement (voir ci-dessous) et également créer la base de données d'annuaire.

 

La base de données de recherche étendue

 

Pour créer ou mettre à jour la base de données des noms de répertoires, utilisez le CDD/S commande. Lorsque vous créez la base de données avec CDD /S, vous pouvez spécifier quels lecteurs doivent être inclus. Si vous activez les recherches étendues dans l'annuaire et ne créez pas la base de données, elle sera créée automatiquement la première fois que cela sera requis et inclura tous les disques durs locaux.

 

La base de données est stockée dans le fichier JPSTREE.IDX. Vous pouvez spécifier un emplacement pour ce fichier sur le Onglet Ligne de commande de boîtes de dialogue de configuration. Si cette option n'est pas définie, TCC cherche un existant JPSTREE.IDX dans le répertoire LOCALAPPDATA (une variable d'environnement prédéfinie par Windows). Si le fichier n'existe pas, TCC va le créer dans le répertoire "C:\ProgramData\JP Software".

 

Si vous utilisez une commande interne pour créer ou supprimer un répertoire, la base de données de répertoires est automatiquement mise à jour pour refléter la modification apportée à votre structure de répertoires.

 

Le ARBREEXCLU La variable peut être utilisée pour spécifier quels lecteurs/répertoires doivent être exclus de l'inclusion dans la base de données d'annuaire.

 

Les commandes internes qui peuvent modifier la structure des répertoires et provoquer des mises à jour automatiques du fichier sont MD, RD, COPIE /S, SUPPR /X, SE DÉPLACEet RENL’ MD /N La commande peut être utilisée pour créer un répertoire sans mettre à jour la base de données du répertoire. Ceci est utile lors de la création d'un répertoire temporaire que vous ne souhaitez pas voir apparaître dans la base de données.

 

Activation des recherches étendues

 

Pour activer les recherches d'annuaire étendues et contrôler leur fonctionnement, vous devez définir le niveau de recherche sur le Onglet Ligne de commande de boîtes de dialogue de configuration.

 

Si niveau de recherche = 0, les recherches étendues sont désactivées, le JPSTREE.IDX la base de données est ignorée, et CD, CDD, pushd et les changements de répertoire automatiques recherchent des répertoires en utilisant uniquement des noms explicites et CDPATH. C'est la valeur par défaut.

 

Si niveau de recherche = 1 et une recherche étendue est requise, TCC recherchera le JPSTREE.IDX base de données pour répertoire des noms qui exactement correspond au nom que vous avez spécifié.

 

Si niveau de recherche = 2 et une recherche étendue est requise, TCC recherchera d'abord dans la base de données les correspondances exactes, tout comme lorsque le niveau de recherche = 1. Si le répertoire demandé n'est pas trouvé, il recherchera dans la base de données une seconde fois les noms de répertoire commençant par avec le nom que vous avez spécifié.

 

Si niveau de recherche = 3 et une recherche étendue est requise, TCC recherchera d'abord dans la base de données les correspondances exactes, tout comme lorsque le niveau de recherche = 1. Si le répertoire demandé n'est pas trouvé, il recherchera dans la base de données une deuxième fois les noms de répertoires contenant le nom que vous avez spécifié n'importe où à l'intérieur.

 

Par exemple, supposons que vous ayez un répertoire appelé C:\DONNÉES\MONREP, CDPATH n'est pas défini, et C:\DONNÉES n'est pas le répertoire actuel sur le lecteur C :. Le tableau suivant montre ce que CDD commande que vous pourriez utiliser pour accéder à ce répertoire.

 

Niveau de recherche

Type de recherche étendue

Commande CDD typique

0

CDPATH uniquement (par défaut)

cdd c:\data\monrépertoire

1

CDPATH ou correspondance exacte

cdd mon répertoire

2

CDPATH ou match en tête

cdd mond

3

CDPATH ou n'importe quelle correspondance

cdd yd

 

Une recherche de répertoire étendue n'est pas utilisée si vous spécifiez un chemin de répertoire complet (un chemin commençant par une barre oblique inverse \, ou une lettre de lecteur et une barre oblique inverse). Si vous utilisez un nom commençant par une lettre de lecteur (par exemple C:MONREP), la recherche étendue examinera uniquement les répertoires de ce lecteur.

 

Forcer une recherche étendue avec des caractères génériques

 

Normalement, vous tapez un nom de répertoire spécifique pour TCC à localiser, et la recherche se déroule comme décrit dans les sections précédentes. Cependant, vous pouvez également forcer TCC pour effectuer une recherche étendue dans l'annuaire à l'aide de caractères génériques dans le nom du répertoire. Si vous utilisez un caractère générique, une recherche étendue se produira, que les recherches étendues aient été activées ou non.

 

Quand TCC change de répertoire et trouve caractères génériques dans le nom du répertoire, il ignore le explicite recherche et CDPATH étapes et passe directement à l'extension chercher.

 

Si une seule correspondance est trouvée, la modification est effectuée immédiatement. Si plusieurs correspondances sont trouvées, une fenêtre contextuelle s'affiche avec tous les répertoires correspondants.

 

Les caractères génériques ne peuvent être utilisés que dans le nom de répertoire final du chemin (après la dernière barre oblique inverse du nom du chemin). Par exemple, vous pouvez trouver VIRGULE* (tous les répertoires dont le répertoire parent est COMMUNICATION et qui ont un A quelque part dans leurs noms), mais vous ne trouvez pas COMA* car il utilise un caractère générique avant la dernière barre oblique inverse.

 

Si vous utilisez des caractères génériques dans le nom du répertoire comme décrit ici et que la base de données de recherche d'annuaire étendue n'existe pas, elle sera créée automatiquement la première fois qu'un caractère générique est utilisé. Vous pouvez mettre à jour la base de données à tout moment avec CDD /S.

 

En interne, les recherches d'annuaire étendues utilisent des caractères génériques pour analyser la base de données d'annuaire. Si le niveau de recherche est défini sur 2, une recherche étendue recherche le nom que vous avez saisi suivi d'un astérisque (c'est-à-dire DIRNAME*). Si le niveau de recherche est défini sur 3, il recherche le nom précédé et suivi d'un astérisque (c'est-à-dire *DIRNAME*).

 

Ces caractères génériques internes seront utilisés en plus de tous les caractères génériques que vous utilisez dans le nom. Par exemple, si vous recherchez A B C D E F (abc suivi de n'importe quel caractère suivi de DEF) et le niveau de recherche est défini sur 3, TCCrecherchera dans la base de données de l'annuaire *A B C D E F*.

 

Désactivation des recherches étendues dans les fichiers batch

 

Lors de l'écriture de fichiers batch, vous souhaiterez peut-être utiliser le CD or CDD commande pour changer de répertoire sans déclencher une recherche étendue. Par exemple, vous souhaiterez peut-être que la recherche échoue (plutôt que de rechercher dans la base de données de recherche étendue) si un répertoire n'existe pas, ou vous souhaiterez peut-être vous assurer que la fenêtre contextuelle de recherche étendue n'apparaît pas dans un fichier de commandes conçu pour s'exécuter sans surveillance. mode.

 

Pour désactiver les recherches étendues, utilisez l'option /N de CD or CDD. Lorsque cette option est utilisée et qu'il n'existe pas de répertoire sous le répertoire courant ou sur le CDPATH, la commande échouera avec un message d'erreur et ne recherchera pas la base de données de recherche étendue. Par exemple, cette commande peut déclencher une recherche étendue :

 

cdd répertoire de test

 

mais celui-ci ne le fera pas :

 

cdd /n rép_test

 

Notez que cette option n'est pas disponible pour pushd. Pour exécuter la même fonction lors de l’utilisation pushd, enregistrez le répertoire actuel avec pushd (sans paramètres) puis utilisez CDD /N pour changer de répertoire, par exemple :

 

pushd

cdd /n rép_test