'Soir !
Pour le if, j'avais pas regardé le début :
if "%RECEPX_STATUS%"=="OK" (
goto :FIND
) else (
goto :NOTFIND
)
La commande exist s'utilise avec les fichiers.
N'oublie pas de remettre ton RECEPX_STATUS à différent de OK avant ta boucle.
Désolé de faire autant l'assisté mais je ne comprend pas le "remettre le RECEPX_STATUS a diff de OK,
et google n'est pas trés bavard sur l'utilisation du STATUS 
Le code que tu cites, met dans un fichier txt la liste des fichiers à traiter.
Ensuite on affiche grace à findstr les lignes contenant ton RECEPX parmis tous les fichiers de la liste.
Explique clairement ce que tu souhaites faire à partir de tes fichiers texte.
Ok, donc le fichier texte est un ordre de mission qui récapitule l'ensemble des commandes des clients du transporteur, il se présente sous cette forme.
Ordre de mission n° XXXXXXX
XXXXXXXXXX
XXXXXXXXXXXX
XXXXXXXXXXX
XXXXXX
XXXXXXXXXXXX
XXXXXXXXXXX
XXXXXXXXXXX
XXXXXXXXXXXXXXX
XXXXXXXXXXXXXX
les lignes suivant le numéro d'ODM sont les références des commandes.
Une fois les clients livrés, l'entreprise attend le retour des recepissé (qui correspondent a UNE ligne dans l'ODM pour s'assurer que la livraison s'est bien déroulée.
De ce que je comprends, tu as des fichiers textes présent dans un ou plusieurs repertoires. Suite à la saisie de l'utilisateur, tu souhaites trouver le fichier contenant le numero de recep saisi et ensuite modifier le fichier en question.
C'est bien cela ?
Oui c'est exactement cela.
Admettons que je cherche le récépissé 1000000
Le but et que l'ODM soit modifié en ajoutant RECU à la ligne correspondant au récépissé recherché.
ex:
Ordre de mission n°448107853
0899996
0899999
4565001932
1000000 RECU
478519191
J'utilise actuellement 4 dossier pour ce batch:
ORDREMIS (ici sont mit en .txt et de manière individuelle tout les ordres de mission dont tout les récépissés ne sont pas encore arrivés en )
ORDRECOMPLET (ici les ordres de mission ou tous les recep sont arrivés)
RECEP (ou sont temporairement rangés les recep dont l'ordre de mission n'a pas encore été créé.)
ARCHIVES (Les ordres de missions plus anciens sont déplacé ici au fur et a mesure pour plus de clarté pour les commandes récentes.
L'objectif final est que l'ODM dont tout les récépissés sont arrivés (et donc marqués RECU) soit déplacé dans un le dossier ORDRECOMPLET.
Déjà si tes fichiers ressemblent effectivement à ce que tu as mis dans un de tes posts précédents, le findstr ne conviendra pas car tu as plein de numéros qui pourront remonter (ex si tu cherche 10, des lignes avec 100, 110, 4105 vont ressortir).
Donc étape 1 : déterminer de façon exacte comment identifier à coup sur un fichier (ex: numero à tester toujours en 3eme ligne...)
Apres retrouver ton fichier sera facile, en combinant du FOR et/ou du FINDSTR.
Mh c'est vrai je n'avais pas pensé a ce problème,
je m'étais au départ tourné vers la fonction For car
:on peut sauter la première ligne du fichier, qui, dans le txt est "Ordre de miss n°...." et qui n'a donc pas d’intérêt pour la recherche.
: Et le fait que la recherche d'une variable puisse être délimitée par les espaces , ce qui aurait permis de ne pas "mélanger" les num de deux recep l'un au dessus de l'autre.
ex:
je cherche le recep 50658996
dans la liste
Ordre de mission n°654250658996 (première erreur évitée)
5986463486
4884645065
89962014 (deuxième erreur évitée)
Je suis en train de potasser la page de wiki sur FOR , il y a pas mal d'info, mais je ne vois a aucun moment une commande qui me permettrai de chercher une chaine de caractères dans touts les fichiers d'un dossier,
car
findstr /i /c:"%RECEPX%" C:\PGOM\ORDREMIS\0123456789.txt && ( set RECEPX_STATUS=OK )
Ne recherche que dans un txt.
findstr /i /c:"%RECEPX%" C:\PGOM\ORDREMIS\*.txt && ( set RECEPX_STATUS=OK )
Un code de ce type est t'il réalisable?
Merci encore pour ton intérêt et ton aide
, je continue a potasser en même temps voir quelles autres alternatives sont possibles ! 
Kro
Partager