Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1297 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  MS-DOS : Boucle For, IF et Find imbriqués, probleme d'affectation

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

MS-DOS : Boucle For, IF et Find imbriqués, probleme d'affectation

n°1752187
xav987
jsuis pas fait pour travailler
Posté le 27-06-2008 à 11:58:49  profilanswer
 

Plutôt qu'une explication compliqué, je préféré un exemple simple :
 


for %%i in (C:\UNDOSSIER\*.csv" ) do (
 
 for /f %%k in ('echo "%%i" ^|FIND /c "TOTO"') do set varune=%%k  
 for /f %%j in ('echo "%%i" ^|FIND /c "TITI"') do set vardeux=%%j  
 
 if %varune%==1 (
  echo CECI EST UN FICHIER TOTO : "%%i"
  rem on fait d'autres actions spécifiques au fichier TOTO
 )
 
 if %vardeux%==1 (
  echo CECI EST UN FICHIER TITI : "%%i"
  rem on fait d'autres actions spécifiques au fichier TITI
 )
)


 
En résumé :
Je prend tout les fichiers d'extension CSV présent dans C:\UNDOSSIER  
 
Pour chaque fichier CSV, si il contient TOTO dans son nom, je fait certaines actions, si il contient TITI, j'en fait d'autres.
 
Le problème, c'est que je suis un gros nul en MS-DOS, et que mon bout de code ne fonctionne pas.
Et je n'arrive même pas à savoir pourquoi.
J'ai l'impression que mes variables varune et vardeux ne sont pas correctement assignées, ou alors pas tout le temps... Bref, je comprend pas.
 
Si quelqu'un peu m'aider...
Merci d'avance.


---------------
Il faut arreter l'informatique le jour où l'on trouve 1024g dans 1kg
mood
Publicité
Posté le 27-06-2008 à 11:58:49  profilanswer
 

n°1752403
xav987
jsuis pas fait pour travailler
Posté le 27-06-2008 à 17:02:08  profilanswer
 

UP!  
 
Il y a pas l'air d'avoir grand monde qui fait du MS-DOS... C'est vrai que c'est limité, mais c'est bien pratique pour ce genre de bout de code (pas de compilation)...
 
C'est pour le boulot, alors une réponse avant ce soir serait grandement appréciée ! :)


---------------
Il faut arreter l'informatique le jour où l'on trouve 1024g dans 1kg
n°1752470
Eric_71
Posté le 27-06-2008 à 19:43:14  profilanswer
 

Hello , tu n'as pas besoin de créer des variables
 
Je te le mets comme ça car c'est facile à comprendre mais on peut faire plus court ( mais plus compliqué à comprendre si tu n'as pas l'habitude )
 

@echo off & cls
 
dir /b "C:\UNDOSSIER\*.csv">tmp.txt
 
for /f "delims=" %%A in ('type tmp.txt ^| find /I "TOTO"') do (
echo CECI EST UN FICHIER TOTO : "%%A"
les commandes que tu veux pour les TOTO)
 
for /f "delims=" %%A in ('type tmp.txt ^| find /I "TITI"') do (
echo CECI EST UN FICHIER TITI : "%%A"
les commandes que tu veux pour les TITI)

n°1753965
xav987
jsuis pas fait pour travailler
Posté le 01-07-2008 à 13:57:44  profilanswer
 

Cool, je connaissait pas "delims" !
Vu l'urgence, j'ai fait l'équivalence en C#, mais pour du code si simple, vaut mieux du batch !
 
Merci


---------------
Il faut arreter l'informatique le jour où l'on trouve 1024g dans 1kg

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  MS-DOS : Boucle For, IF et Find imbriqués, probleme d'affectation

 

Sujets relatifs
[Resolu] Problème portabilité entre PC sous WinXPMenu déroulant en JVS: problème d'affichage
Petite aide en DOS vraiment tt simple[RESOLU] Problème PHP4 --> PHP5
[Résolu][HTML]Problème avec la balise <a href>Probleme lors de la connexion par DNS
Parcours XML + boucle : WINDEVProblème d'accent récupération d'un chemin absolu
Probleme javascript et IEProblème excel / vba excel - répétition de titres en haut de page
Plus de sujets relatifs à : MS-DOS : Boucle For, IF et Find imbriqués, probleme d'affectation


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR