Commande Find dans DOS [Fermé]

Signaler
Messages postés
63
Date d'inscription
mercredi 8 juin 2016
Statut
Membre
Dernière intervention
20 juin 2016
-
Messages postés
63
Date d'inscription
mercredi 8 juin 2016
Statut
Membre
Dernière intervention
20 juin 2016
-
Bonjour j'ai un petit problème lorsque que lance une recherche find sur mon disque D j'aimerais récupérer une ligne ou il y a inscrit octets mais le problème est qu'il y en a plusieurs. Est-ce que je peux recuperer une ligne spécifique ? Il y a environ une dizaine de résultat et je souhaiterais récupérer juste l'avant dernière ligne ! merci d'avance

dir d:\zinfo /s | find "octets">>d:\script\VolumeDisqueG.txt

1 réponse

Messages postés
18240
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
30 novembre 2020
5 251
hello
on récupère la dernière ligne que se termine par octets
C:> dir /s | find "octets"
26 fichier(s) 2 455 197 octets
31 fichier(s) 3 537 393 octets
23 fichier(s) 19 451 904 octets
7 fichier(s) 16 319 octets
0 fichier(s) 0 octets
87 fichier(s) 25 460 813 octets
14 Rép(s) 94 462 062 592 octets libres

C:> for /F "delims=" %a in ('dir /s ^| findstr "octets$" ') do @set o=%a
C:> echo %o%
87 fichier(s) 25 460 813 octets
Messages postés
63
Date d'inscription
mercredi 8 juin 2016
Statut
Membre
Dernière intervention
20 juin 2016

le contenu de mes 2 fichiers BAT :


1ER :
chcp 1252
rem @echo off
echo.
echo.
echo.>>d:\script\VolumeDisqueG.xls
echo Le %date% a %time% :>>d:\script\VolumeDisqueG.xls
dir d: /s
for /F "delims=" %%i in ('dir /s d: /s ^| findstr "octets$" ') do @set e=%%i
echo "%e%">>d:\script\VolumeDisqueG.xls
echo.
echo.
echo.
dir d:\zinfo /s
for /F "delims=" %%a in ('dir /s d:\zinfo /s ^| findstr "octets$" ') do @set o=%%a
echo "%o%">>d:\script\VolumeDisqueG.xls



2EME :

type  test2.bat
@echo off
setlocal enableDelayedExpansion
for /f "delims=) tokens=2" %%a in ('find "octet" ^< VolumeDisqueD.xls') do (
set t=%%a
set t=!t:octets=!
set t=!t: =!
echo !t!


Maintenant que dois-je faire ?
Messages postés
18240
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
30 novembre 2020
5 251
exécuter test2
il manque une ) à la fin après echo
Messages postés
63
Date d'inscription
mercredi 8 juin 2016
Statut
Membre
Dernière intervention
20 juin 2016

Oui c'est bon mais il faudrait trouver "octet" directement dans les variables crée au dessus !
En fait quand je le fait a partir du fichier .xls le problème est que le deuxième fichier.bat refait la recherche sur toutes les valeurs inscrites dans le fichier alors qu'il faudrait le faire que sur la dernière donc je ne sais pas si possible de recupérer directement dans les variables leur contenu . Mes deux variables %e% et %o%
Messages postés
18240
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
30 novembre 2020
5 251
après la boucle for, !t! contient la dernière valeur
Messages postés
63
Date d'inscription
mercredi 8 juin 2016
Statut
Membre
Dernière intervention
20 juin 2016

d'accord merci pour votre aide en tout cas bonne fin de journée
Cordialement,