Comment faire des recherches dans un tableau sous command DOS
Comment faire des recherches dans un tableau sous command DOS - Shell/Batch - Programmation
MarshPosté le 01-11-2025 à 12:20:29
Bonjour,
J'ai un problème que je n'arrive pas à résoudre dans un batch concernant l'accès à 2 tableaux que vous trouverez ci-après. Le premier est constitué de valeurs sui doivent correspondre à une valeur entrée en argument %1 dans la commande d'exécution et le 2ème tableau donne la valeurs "traduite" pour la position trouvée ( si elle est trouvée, sinon je sortirai un message d'erreur ), cela afin d'entrer des paramètres dans le lancement d'un logiciel. Par exemple si l'argument %1 est "NEQ" la position de la valeur trouvée est la 3ème du tableau 1 et je souhaite récupérer sa valeur "traduite" depuis le tableau 2, donc la 3ème valeur, c'est à dire ne. Comment procéder ? Vous allez peut-être me répondre d'enter la valeur traduite directement dans le logiciel mais cela ne me convient pas ... D'autre part, cela me permettra d'en apprendre un peu plus sur les commandes DOS. Il me semble qu'il faut entrer la commande SetLocal EnableDelayedExpansion avant d'utiliser les tableaux mais en cherchant sur internet je n'ai pas trouvé comment faire. Merci de votre aide.
Tableau 1 SET Oper[0]="000" SET Oper[1]="EQU" SET Oper[2]="NEQ" SET Oper[3]="LSS" SET Oper[4]="GRT" SET Oper[5]="LEQ" SET Oper[6]="GEQ"
Tableau 2 SET OperPerl[0]=## SET OperPerl[1]=eq SET OperPerl[2]=ne SET OperPerl[3]=lt SET OperPerl[4]=gt SET OperPerl[5]=le SET OperPerl[6]=ge
Marsh Posté le 01-11-2025 à 12:20:29
Bonjour,
J'ai un problème que je n'arrive pas à résoudre dans un batch concernant l'accès à 2 tableaux que vous trouverez ci-après.
Le premier est constitué de valeurs sui doivent correspondre à une valeur entrée en argument %1 dans la commande d'exécution et le 2ème tableau donne la valeurs "traduite" pour la position trouvée ( si elle est trouvée, sinon je sortirai un message d'erreur ), cela afin d'entrer des paramètres dans le lancement d'un logiciel.
Par exemple si l'argument %1 est "NEQ" la position de la valeur trouvée est la 3ème du tableau 1 et je souhaite récupérer sa valeur "traduite" depuis le tableau 2, donc la 3ème valeur, c'est à dire ne.
Comment procéder ?
Vous allez peut-être me répondre d'enter la valeur traduite directement dans le logiciel mais cela ne me convient pas ... D'autre part, cela me permettra d'en apprendre un peu plus sur les commandes DOS.
Il me semble qu'il faut entrer la commande SetLocal EnableDelayedExpansion avant d'utiliser les tableaux mais en cherchant sur internet je n'ai pas trouvé comment faire.
Merci de votre aide.
Tableau 1
SET Oper[0]="000"
SET Oper[1]="EQU"
SET Oper[2]="NEQ"
SET Oper[3]="LSS"
SET Oper[4]="GRT"
SET Oper[5]="LEQ"
SET Oper[6]="GEQ"
Tableau 2
SET OperPerl[0]=##
SET OperPerl[1]=eq
SET OperPerl[2]=ne
SET OperPerl[3]=lt
SET OperPerl[4]=gt
SET OperPerl[5]=le
SET OperPerl[6]=ge