Un bat qui trouve un nombre dans un fichier
philton5000
Messages postés
100
Date d'inscription
Statut
Membre
Dernière intervention
-
jee pee Messages postés 41521 Date d'inscription Statut Modérateur Dernière intervention -
jee pee Messages postés 41521 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je cherche a trouver un nombre dans un fichier. Je sais qu'il y a plusieurs façon pour le faire manuellement mais vu qu'il y a plusieurs fichiers ça me prendrais des heures.
Donc j'ai essayer et py sa donne ça
set "destination=C:\Users\---\Desktop\test\test"
set test=1000
cd /d C:\Users\---\Desktop\test || exit /b 1
type *.txt
if type=%test% copy /D /V /Y "%destination%"
pause
c'est juste un teste pour voir comment fonctionne les commandes.
Les commandes que je pense que c'est nécessaire sont;
type (pour trouver mon nombre)
token (pour faire une boucle)
peut-etre "dir" (pour trouver tous les fichier dans le dossier dans lequel je veux trouver mon nombre)
Le reste je suis perdu (%%i ou %%~x
Donc pouvez-vous m'aider
merci de bien vouloir m'aider à le faire et a comprendre
Je cherche a trouver un nombre dans un fichier. Je sais qu'il y a plusieurs façon pour le faire manuellement mais vu qu'il y a plusieurs fichiers ça me prendrais des heures.
Donc j'ai essayer et py sa donne ça
set "destination=C:\Users\---\Desktop\test\test"
set test=1000
cd /d C:\Users\---\Desktop\test || exit /b 1
type *.txt
if type=%test% copy /D /V /Y "%destination%"
pause
c'est juste un teste pour voir comment fonctionne les commandes.
Les commandes que je pense que c'est nécessaire sont;
type (pour trouver mon nombre)
token (pour faire une boucle)
peut-etre "dir" (pour trouver tous les fichier dans le dossier dans lequel je veux trouver mon nombre)
Le reste je suis perdu (%%i ou %%~x
Donc pouvez-vous m'aider
merci de bien vouloir m'aider à le faire et a comprendre
A voir également:
- Un bat qui trouve un nombre dans un fichier
- Creer un fichier .bat - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier bin - Guide
- Ouvrir un fichier .dat - Guide
1 réponse
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=: ").
https://fr.wikibooks.org/wiki/DOS/Findstr
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