Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 2
Aller à la page: 1, 2  >
Recherche sur tous les DD
Auteur Message
Répondre en citant
Message Recherche sur tous les DD 
Bien le bonjour,

Je suis tombé sur un vieux topic, pour lequel l'aide demandée était de lister un fichier sur tous les DD.

Je me suis dit, tiens c'est dans tes cordes. Hé ben, nonn, loupé je beugue Mr. Green


@echo off

:: Recherche d'un fichier sur tous les hdd de la machine sans récursivité

Set txt="%SystemDrive%\search.txt"

if exist %txt% del /a /f /q %txt%

echo.& echo.& Set /p Var= Quel est le nom de fichier que tu recherches ?

setlocal enabledelayedexpansion
cd /
For /r "%Var%" %%i in (c d ) do (


if exist "%%i:\"%Var%"" echo %%i =^> Present ^! >> %txt%
if not exist "%%i:\"%Var%"" echo %%i =^> n^'existe pas ^! >> %txt%
)
)

)
)




Endlocal

notepad %txt%

Pause


Si je liste un fichier delete (présent sous c&d voici le résultat

C:\delete\c => n'existe pas
C:\delete\d => n'existe pas

Si le liste le dossier frst présent sous c:\ et absent sous d:\ voici le résultat
Code:

C:\frst\c    => n'existe pas 
C:\frst\d    => n'existe pas 
C:\frst\Quarantine\c    => n'existe pas 
C:\frst\Quarantine\d    => n'existe pas 
C:\frst\Quarantine\bla1\c    => n'existe pas 
C:\frst\Quarantine\bla1\d    => n'existe pas 
C:\frst\Quarantine\bla1\Windows\c    => n'existe pas 
C:\frst\Quarantine\bla1\Windows\d    => n'existe pas


Il apparaît toujours la lettre du lecteur en fin de ligne, et le n'existe pas est embarrassant car tout existe sauf sur d:\ Shocked

Si je liste le dossier ZHP présent sous c:\ et d:\ voici le résultat

C:\ZHP\c => n'existe pas
C:\ZHP\d => n'existe pas

C'est poissant il existe bien tout comme celui de frst mais le résultat est bien différent

Quelles poissent ai je glissé?

Labougie



Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Recherche sur tous les DD 
Je viens d'améliorer mon batch.

Code:
@echo off

:: Recherche d'un fichier sur tous les hdd de la machine   sans récursivité

Set txt="%SystemDrive%\search.txt"

if exist %txt% del /a /f /q %txt%

echo.& echo.& Set /P Var= Quel est le nom de fichier que tu recherches ?

setlocal enabledelayedexpansion
          cd /
         

   For %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i: (

if exist  %%i:\%Var%  echo "%%i:\%Var%"  =^> Present ^! >> %txt%
if not exist %%i:\%Var%  echo "%%i:\%Var%"   =^> n^'existe pas ^! >> %txt%
)





Endlocal

notepad %txt%



la difficulté réside maintenant dans la syntaxe.

Je suis obligé de donner une extension dans ma recherche
delete => cible les dossiers
delete.txt => cible les fichiers

Jusque là rien d'anormal, mais je souhaite faire d'une pierre deux coups.

A savoir, delete doit pouvoir fournir une réponse fichier/dossier

Est-ce réalisable, si oui, quelles pistes suivre?

[hd]

Résultat avec recherche dossier ZHP

Code:

"C:\zhp"  => Present 
"D:\zhp"  => Present 
"E:\zhp"   => n'existe pas 
"F:\zhp"   => n'existe pas 
"G:\zhp"   => n'existe pas 
"H:\zhp"   => n'existe pas 
"I:\zhp"   => n'existe pas 
"J:\zhp"   => n'existe pas 


Résultat avec fichier delete.txt

Code:

"C:\delete.txt"  => Present 
"D:\delete.txt"  => Present 
"E:\delete.txt"   => n'existe pas 
"F:\delete.txt"   => n'existe pas 
"G:\delete.txt"   => n'existe pas 
"H:\delete.txt"   => n'existe pas 
"I:\delete.txt"   => n'existe pas 
"J:\delete.txt"   => n'existe pas 


les résultats sont à la hauteur de ce que je souhaite.


labougie



Répondre en citant
Message Recherche sur tous les DD 
Salut,

une solution :

Code:

@echo off
echo.& echo.& Set /P Var= Quel est le nom de fichier que tu recherches ?

cd /
         
For %%i in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (if exist %%i:\%var%\nul (echo %var% est un Repertoire)
                                                                                            if not exist %%i:\%var%\nul (if exist %%i:\%var% (echo %var% est un fichier)))



Attention cette technique fonctionne pour le format 8.3 dès qu'il y a des espaces ça se complique.




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message Recherche sur tous les DD 
Bonjour
pour les espaces sur les dossiers entre guillements devrait résoudre le probleme non ? "%var%"




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message Recherche sur tous les DD 
Dans ce cas non. Laddy.

Si la recherche doit s'effectuer sur des noms avec espaces il vaut mieux s'orienter vers une solution :

En utilisant les noms courts : (également "dangereux")

Code:

for %%a in (%var%) do if exist %%~sa\nul echo %%a est un repertoire


ou une autre approche (celle pour laquelle j'obterais personnellement):

Code:

for /f "delims=" %%a in ('dir /ad /b ^| find %var%') do (echo %%a est un repertoire)


mais dans ce cas il faut rajouter un test car si on recherche par exemple le repertoire \IP\ et qu'íl existe un \IPV4\
il sera également traité.




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message Recherche sur tous les DD 
Une excellente solution récupèré sur stackoverflow :

Code:

if exist "%~1" (2>nul pushd "%~1" && (popd&set "type=REPERTOIRE") || set "type=FICHIER" ) else set "type=INCONNUE"
echo "%~1" = %type%





______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message Recherche sur tous les DD 
Laddy, Sachadee,

Merci de vous être arrêtés sur le topic Okay .

Je vais regarder vos réponses avec assiduité.
Déjà je ne comprends pas ces termes.

if exist "%~1" (2>nul pushd "%~1" && (popd&set "type=REPERTOIRE") || set "type=FICHIER" ) else set "type=INCONNUE"
echo "%~1" = %type%


%~1 => fait sans doute référence au fichier/dossier que l'on recherche

pushd => je comprends mal cette traduction // sauvegarde puis change le répertoire courrent

popd&set => même chose pour celle-ci // supprime le début du chemin (dans la pile du répertoire)

Je ne suis pas certain de bien comprendre le sens de ces 2 traductions

labougie



Répondre en citant
Message Recherche sur tous les DD 
Je souhaite désormais lister dans tous les lecteurs et tous les répertoire de chaque lecteur

la boucle suivante ne fonctionne pas.

For %%j in ("%Var%") do (
For %%k in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%k: (

(dir /b /a-d /s "%%k\%%j*.*" echo boucle >> %txt% )))

%var% est toujours le mot saisie au début du batch

dir /b /a-d /s => liste les fichiers sous => "%%k\%%j*.*" =>*.* tous les types d'extension

Quand cette boucle sera fonctionnelle, je prendrais ce principe dir /b /ad /s pour lister les dossiers

/s pour la récursivité

echo boucle >>%txt% c'est pour voir si le résultat s'affiche comme je le souhaite

J'ai essayé aussi avec ^| find "%Var%" mais hélas ne fonctionne pas non plus

labougie



Répondre en citant
Message Recherche sur tous les DD 
heu j'apporte tout de suite une grosse correction Mr. Green

For %%j in ("%Var%") do (
For %%k in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%k: (

(dir /b /a-d /s "%%k\%%j*.*" echo boucle >> %txt% )))

ne pas mettre dans le batch les mots en rouge cela bloque le batch

Par contre un seul lecteur est listé Evil or Very Mad

labougie


@echo off

:: Recherche d'un fichier/dossier sur tous les hdd (à la racine) de la machine sans récursivité

Set txt="%SystemDrive%\search.txt"

if exist %txt% del /a /f /q %txt%

echo.& echo.& Set /P Var= Quel est le nom de fichier que tu recherches ?

setlocal enabledelayedexpansion
cd /


For %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist "%Var%" (

2>nul pushd "%Var%" && (popd&set "type=REPERTOIRE") || set "type=FICHIER" ) else (set "type=INCONNUE")

( echo "%Var%" = %type% >> %txt%)

For %%j in ("%Var%") do (
For %%k in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%k: (

(dir "%%j*.*" /b /a-d /s >> %txt% ) ))



For %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i: (

if exist "%%i:\"%Var%"" echo "%%i:\%Var%" =^> Present ^! >> %txt%
if not exist "%%i:\"%Var%"" echo "%%i:\%Var%" =^> n^'existe pas ^! >> %txt%
)

Endlocal

notepad %txt%



reste plus qu'à trouver comment lister tous les lecteurs et ensuite optimiser cela Mort de Rire

j'ai encore du boulot

labougie



Répondre en citant
Message Recherche sur tous les DD 
effectivement le %1 fait réference a ta variable %var% en argument d'un call par exemple :

Code:

set var=element_a_tester
call :test %var%

:test
if exist "%~1" (2>nul pushd "%~1" && (popd&set "type=REPERTOIRE") || set "type=FICHIER" ) else set "type=INCONNUE"
echo "%~1" = %type%


Quant à Pushd ça te stocke le répertoire en cours et va au répertoire spécifié, et popd retourne au répertoire stocké

Tu peux essayé ceci pour comprendre :

Code:

C:\Windows\System32>pushd \


tu va te retrouver sous c:\

et ensuite fait un :

Code:

c:>popd


et tu retournera à C:\Windows\System32

Mais je suppose que tu as un windows en Français donc Pushd /?

Dans ce cas le pushd sert seulement à setter silencieusement l'errorlevel. Vu qu'il ne travail qu'avec des répertoire, si la commande réussi on aura un errorlevel à 0
donc on ira sur && (popd&set "type=REPERTOIRE") dans le cas contraire (errorlevel=1) on ira sur || set "type=FICHIER.

Voilà !




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message Recherche sur tous les DD 
Je t'ai fait ta fonction ça cera plus rapide. Testé et fonctionnel sous NT. (sans récursivité)


Code:

:::Par Sachaee

@echo off
echo.& echo.& Set /P Var= Quel est le nom de fichier ou dossier que tu recherches ?

pushd \
         
For %%i in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (call:test %var% %%i:)
popd
Echo FIN DE TRAITEMENT
pause
goto end

:test

if exist "%2\%~1" (2>nul pushd "%~1" && (popd&set "type=REPERTOIRE") || set "type=FICHIER" ) else set "type=INCONNUE"
echo %2\%~1 = %type%


:end







______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message Recherche sur tous les DD 
Merci pour tes explications, je vais regarder ton code à tête reposée, car il me faut un temps certain pour tout mette en oeuvre.

Oui j'ai bien fait le /? pour pushd & popd mais je n'ai compris que le stockage en mémoire du chemin.

J'ai encore retravaillé le bach (j'ai ajouté la récursivité, la présentation de sortie) n'ayant pas encore assimilé la boucle pushd popd j'ai procédé différemment.

je travaille sous 8X86


@echo off

:: Recherche d'un fichier/dossier sur tous les hdd

Set txt="%SystemDrive%\search.txt"

if exist %txt% del /a /f /q %txt%

echo. >> %txt%
echo Batch lancé par %username% depuis ["%~dp0"] le [%date% %time:~0,5%] >> %txt%
echo. >> %txt%

echo.& echo.& Set /P Var= Quel est le nom de fichier que tu recherches ? ?

:question
cls
echo.& echo.& Set /P Choix= Que recherches tu ? (Fichier = 1 // Dossier = 2) ==^>
if %choix% lss 1 goto question
if %choix%==1 goto Fichier
if %choix%==2 goto Repertoire
if %choix% gtr 2 goto question


:Fichier

setlocal enabledelayedexpansion
cd /

Echo.&Echo. >> %txt%

Echo =~=~=~=~=~=~=~=~=~=~=~=~ Resultat pour les Fichiers =~=~=~=~=~=~=~=~=~=~=~=~ >> %txt%
Echo.&Echo. >> %txt%

For %%j in ("%Var%") do (
For %%k in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%k: (

(dir "%%k:\%%j*.*" /b /a-d /o-d /t:c /s >> %txt% ) ))

Echo.&Echo. >> %txt%
Echo =~=~=~=~=~=~=~=~=~=~=~=~ Fin de la recherche =~=~=~=~=~=~=~=~=~=~=~=~ >> %txt%

Endlocal

goto eol

:Repertoire

setlocal enabledelayedexpansion
cd /

Echo.&Echo. >> %txt%

Echo =~=~=~=~=~=~=~=~=~=~=~=~ Resultat pour les Dossiers =~=~=~=~=~=~=~=~=~=~=~=~ >> %txt%
Echo.&Echo. >> %txt%

For %%j in ("%Var%") do (
For %%k in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%k: (

(dir "%%k:\%%j" /s >> %txt% ) ))

Echo.&Echo. >> %txt%
Echo =~=~=~=~=~=~=~=~=~=~=~=~ Fin de la recherche =~=~=~=~=~=~=~=~=~=~=~=~ >> %txt%

Endlocal
Goto Eol

:Eol
notepad %txt%


Rapport sur les fichiers agréable à lire en dehors de la longueur.
Rapport sur les dossiers c'est plus contraignant, la présentation reste bordélique à mon sens, peut on mieux présenter la chose, si oui comment?
Boucle, extraire pour chaque lecteur, intercaler des ligne vierges, bref c'est lour et long à gérer, existe une solution différente.

J'aimerai que la présentation soit, lecteur:\dossier\dossier\dossier au lieu d'avoir

Code:

=~=~=~=~=~=~=~=~=~=~=~=~ Resultat pour les Dossiers =~=~=~=~=~=~=~=~=~=~=~=~   
 
 Le volume dans le lecteur C s'appelle Windows 8 Labougie
 Le num‚ro de s‚rie du volume est DC0F-EA39

 R‚pertoire de C:\Users

03/12/2012  21:31    <DIR>          Labougie
               0 fichier(s)                0 octets

     Total des fichiers list‚sÿ:
               0 fichier(s)                0 octets
               1 R‚p(s)  150ÿ633ÿ369ÿ600 octets libres
 Le volume dans le lecteur D n'a pas de nom.
 Le num‚ro de s‚rie du volume est F6D5-71D3

 R‚pertoire de D:\ProgramData\Kaspersky Lab\Sandbox\KLSB1\Device\HarddiskVolume2\Users

14/11/2011  22:41    <DIR>          labougie
               0 fichier(s)                0 octets

etc...



labougie



Répondre en citant
Message Recherche sur tous les DD 
Y a un hic dans ton batch.
La formule stoppe sur a: du coup comme le fichier n'existe pas sur a:\ le batch plante




il faut rajouter if exist %%i:

For %%i in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do if exist %%i: (call:test %var% %%iSmile

et là cela fonctionne


labougie



Répondre en citant
Message Recherche sur tous les DD 
J'ai le batch qui me convient Mr. Green

le voici


@echo off

:: Recherche de fichiers/dossiers sur tous les hdd

Set txt="%SystemDrive%\search.txt"

if exist %txt% del /a /f /q %txt%

echo. >> %txt%
echo Batch lancé par %username% depuis ["%~dp0"] le [%date% %time:~0,5%] >> %txt%
echo. >> %txt%

echo.& echo.& Set /P Var= Quel est le nom que tu recherches ?



:Fichier

setlocal enabledelayedexpansion
cd /

Echo.&Echo. >> %txt%

Echo =~=~=~=~=~=~=~=~=~=~=~=~ Resultat pour les Fichiers %Var% =~=~=~=~=~=~=~=~=~=~=~=~ >> %txt%
Echo.&Echo. >> %txt%

Echo =~=~=~=~=~=~=~=~=~ Recherche de Fichiers %Var% en cours =~=~=~=~=~=~=~=~=~=

For %%j in ("%Var%") do (
For %%k in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%k: (

(dir /b /a-d /o-d /t:c "%%k:\%%j*.*" /s >> %txt% ) ))

Echo.&Echo. >> %txt%
Echo =~=~=~=~=~=~=~=~=~=~=~=~ Fin de la recherche Fichiers =~=~=~=~=~=~=~=~=~=~=~=~ >> %txt%

Endlocal



:Repertoire

setlocal enabledelayedexpansion
cd /

Echo.&Echo. >> %txt%

Echo =~=~=~=~=~=~=~=~=~=~=~=~ Resultat pour les Dossiers %Var% =~=~=~=~=~=~=~=~=~=~=~=~ >> %txt%
Echo.&Echo. >> %txt%

Echo =~=~=~=~=~=~=~=~=~ Recherche de Dossiers %Var% en cours =~=~=~=~=~=~=~=~=~=

For %%j in ("%Var%") do (
For %%k in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%k: (

(dir /b /ad "%%k:\%%j" /s >> %txt% ) ))

Echo.&Echo. >> %txt%
Echo =~=~=~=~=~=~=~=~=~=~=~=~ Fin de la recherche Dossiers =~=~=~=~=~=~=~=~=~=~=~=~ >> %txt%

Endlocal
Goto Eol

:Eol
notepad %txt%

:exit


Si vous trouvez des erreurs ou beugues de présentation/syntaxe ne pas hésiter

Le rapport



Batch lancé par Labougie depuis ["C:\Users\Labougie\Desktop\Lister Fichiers Dossiers en batch\"] le [28/07/2013 19:17]


=~=~=~=~=~=~=~=~=~=~=~=~ Resultat pour les Fichiers labougie =~=~=~=~=~=~=~=~=~=~=~=~

C:\ProgramData\Microsoft\User Account Pictures\Labougie.dat
C:\Users\All Users\Microsoft\User Account Pictures\Labougie.dat
C:\Users\Labougie\AppData\Roaming\Microsoft\Office\Recent\LabougieBD.xlsx.LNK
C:\Users\Labougie\AppData\Roaming\Microsoft\Windows\Recent\Labougie.PNG.lnk
C:\Users\Labougie\AppData\Roaming\Microsoft\Windows\Recent\LabougieBD.xlsx.lnk
C:\Users\Labougie\Desktop\Labougie.PNG
C:\Users\Labougie\Desktop\Excel\LabougieBD.xlsx
C:\Users\Labougie\Desktop\Excel\Xlx celine\labougie_G11.xlsm
D:\Program Files\Fichiers r‚pertori‚s\labougie.txt
D:\Program Files\trend micro\labougie.exe
D:\ProgramData\Microsoft\User Account Pictures\labougie.dat
D:\Users\All Users\Microsoft\User Account Pictures\Labougie.dat
D:\Users\labougie\AppData\Local\Temp\labougie.bmp
D:\Users\labougie\AppData\Roaming\Microsoft\Office\Recent\Labougie_pour_pax2_VF2.xls.LNK
D:\Users\labougie\AppData\Roaming\Microsoft\Windows\Recent\labougietest.txt.lnk
D:\Users\labougie\Contacts\labougie.contact
E:\Data\Eric\Images Dessins\Labougie-99x99.jpg
E:\Data\Eric\Images Dessins\Labougie.jpg
E:\Data\Eric\Images Dessins\Avatars\labougie.png
E:\Data\Eric\Images Dessins\Avatars\labougie1.png
E:\Data\Eric\Images Dessins\Avatars\labougie2.gif
E:\Data\Pourreinstallatin du 21-10-10\Cle USB Bleue\Images\Labougie.jpg
E:\Data\Pourreinstallatin du 21-10-10\Cle USB Bleue\Images\Labougie-99x99.jpg
E:\Sauvegardes\test\labougie1000.JPG
E:\Sauvegardes\test\Iphone Tuto\Labougie.JPG
E:\Sauvegardes\test\Labougie\labougie1000.JPG
E:\Sauvegardes\test\Labougie\Labougie4.jpg
E:\Sauvegardes\test\Labougie\Labougie3.JPG
E:\Sauvegardes\test\Labougie\Labougie2.JPG
E:\Sauvegardes\test\Labougie\Labougie.JPG
E:\Sauvegardes\test\Labougie\Avatars\labougie63x63animoptimi.gif
E:\Sauvegardes\test\Labougie\Avatars\labougie2.gif
E:\Sauvegardes\test\Labougie\Avatars\labougie1.png
E:\Sauvegardes\test\Labougie\Avatars\labougie.png
F:\ProgramData\Microsoft\User Account Pictures\Labougie.dat
F:\Users\All Users\Microsoft\User Account Pictures\Labougie.dat
F:\Users\Labougie\AppData\Local\Temp\Labougie.bmp
F:\Users\Labougie\Contacts\Labougie.contact
G:\ProgramData\Microsoft\User Account Pictures\Labougie.dat
G:\Users\All Users\Microsoft\User Account Pictures\Labougie.dat

=~=~=~=~=~=~=~=~=~=~=~=~ Fin de la recherche Fichiers =~=~=~=~=~=~=~=~=~=~=~=~

=~=~=~=~=~=~=~=~=~=~=~=~ Resultat pour les Dossiers labougie =~=~=~=~=~=~=~=~=~=~=~=~

C:\Users\Labougie
D:\ProgramData\Kaspersky Lab\Sandbox\KLSB1\Device\HarddiskVolume2\Users\labougie
D:\Users\labougie
D:\Users\labougie\AppData\Local\Microsoft\Windows\Temporary Internet Files\Virtualized\C\Users\labougie
E:\Sauvegardes\test\Labougie
F:\Users\Labougie
G:\Users\Labougie

=~=~=~=~=~=~=~=~=~=~=~=~ Fin de la recherche Dossiers =~=~=~=~=~=~=~=~=~=~=~=~


Le batch ne prends le joker, je m'explique:

Le joker stoppe le batch d'entrée

Une recherche sur labou fonctionne pour les fichiers mais pas les dossiers (je n'ai pas trouvé la subtilité pour la recherche tronquée)

En somme, le mot de recherche pour les dossiers se doit d'être précis sinon, pas de résultat

Pour les fichiers pas besoin de mettre un joker, labou donne tous les résultats de labougie plus d'autres
exemple:
H:\Musiques\Musiques -Originales-\Various 80\la bouche - mr. vain.mp3

Labougie



Répondre en citant
Message Recherche sur tous les DD 
voilà je viens de terminer le code pour la recherche relativee et recursive sur fichier et dossier.

Tu peux entrer que les premières lettres pour les dossier ou fichier. Et ça devrait être bien plus rapide (2x) parce qu'il test les fichiers
et les dossiers en une seule passe.

Enjoy Okay

Code:

:::FINDFILE
:::By Sachadee
:::www.dbatchscript.forumeiros.com
:::www.bbat.forumeiros.com
:::www.batch.xoo.it.com
:::Testé sous Vista et 7

@echo off
if exist %temp%\sortie.log del %temp%\sortie.log
echo.& echo.& Set /P Var= Entrez le string a rechercher ?

setlocal enabledelayedexpansion enableextensions
cls&ECHO RECHERCHE EN COURS PATIENTEZ....
set test=
pushd \ 
For %%i in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (if exist %%i: (for /f "delims=" %%a in ('dir %%i:\ /b /s ^| find /i "%var%"') do (
                                                                                                   set test=%%a
                                                                                                   FOR %%y IN ("!test:\=" "!") DO SET LAST=%%~y
                                                                                                   (echo !last! | find /i "%var%")
                                                                                                   (if !errorlevel!==0 (call:test !last! %%i: %%a %var%)))))

popd&cls
if exist %temp%\sortie.log (type %temp%\sortie.log) else (echo AUCUN ELEMENT TROUVE)
pause
goto:end

:test
if exist "%~3" (2>nul pushd "%~3" && (popd&set "type=REPERTOIRE"&echo TROUVE %4 SUR !type! %3>>%temp%\sortie.log) || (set "type=FICHIER"&echo TROUVE %4 SUR !type! %3>>%temp%\sortie.log))

:end




http://dbatchpaste.web44.net/bbat/ERehi7nFg9.html



Dernière édition par sachadee le Dim 28 Juil 2013 - 22:10; édité 3 fois

______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Message Recherche sur tous les DD 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 2
Aller à la page: 1, 2  >
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch