Un bat qui trouve un nombre dans un fichier
Fermé
philton5000
Messages postés
100
Date d'inscription
samedi 27 janvier 2018
Statut
Membre
Dernière intervention
20 janvier 2021
-
28 sept. 2018 à 02:15
jee pee Messages postés 40805 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 17 février 2025 - 29 sept. 2018 à 19:02
jee pee Messages postés 40805 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 17 février 2025 - 29 sept. 2018 à 19:02
A voir également:
- Un bat qui trouve un nombre dans un fichier
- Creer un fichier .bat - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir un fichier .bin - Guide
- Fichier rar - Guide
1 réponse
jee pee
Messages postés
40805
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
17 février 2025
9 525
28 sept. 2018 à 11:37
28 sept. 2018 à 11:37
Bonjour,
D'abord quelques observations :
-
- type affiche le contenu des fichiers, mais sur la ligne suivante le if type n'a pas de sens.
La commande idéale pour toi c'est
Pour les boucles la commande c'est
Il y a un exemple qui semble avoir été fait pour toi :
Si cela correspond, tu pourras remplacer les echo par un copy de %%B. Attention ce script ne fonctionnera pas si il y a des blancs dans tes noms de fichiers. le blancs étant l'un des délimiteurs de champs (delims=: ").
D'abord quelques observations :
-
set "destination=C:\Users\---\Desktop\test\test"je ne l'aurais pas écrit ainsi mais
set destination="C:\Users\---\Desktop\test\test"ou
set destination=C:\Users\---\Desktop\test\testmais ta syntaxe fonctionne aussi ;-)
- type affiche le contenu des fichiers, mais sur la ligne suivante le if type n'a pas de sens.
La commande idéale pour toi c'est
find. Lance à la main dans ton répertoire :
FIND /C "1000" *.txttu devrais avoir l'indication pour chaque fichier si la chaine est présente ou pas.
Pour les boucles la commande c'est
FOR, une page de référence sur laquelle je retombe à chaque fois : https://fr.wikibooks.org/wiki/DOS/For#Boucle_sur_le_contenu_d%27un_fichier
Il y a un exemple qui semble avoir été fait pour toi :
@ECHO OFF FOR /F "tokens=1,2* delims=: " %%A IN ('FIND /C "1000" *.txt') DO ( IF %%C GTR 0 ( ECHO Fichier: %%B ECHO Nombre d’occurrences : %%C ) )
Si cela correspond, tu pourras remplacer les echo par un copy de %%B. Attention ce script ne fonctionnera pas si il y a des blancs dans tes noms de fichiers. le blancs étant l'un des délimiteurs de champs (delims=: ").
Modifié le 28 sept. 2018 à 11:43
https://fr.wikibooks.org/wiki/DOS/Findstr
28 sept. 2018 à 13:02
je pense que ça donnerais ça
@ECHO OFF
FOR /F "tokens=1,2* delims=: " %%A IN ('dir /b /s') do (
('FIND /C "1000" *.*') DO (
IF %%C GTR 0 (
ECHO Fichier: %%B
ECHO Nombre d’occurrences : %%C
)
)
)
pause
28 sept. 2018 à 13:02
Modifié le 28 sept. 2018 à 13:39
28 sept. 2018 à 21:22