Oui
voici où se trouve mon script :
P:\DEBMACHI\test rail
Et voici où se trouve tous mes sous-dossiers :
P:\DEBMACHI\test rail
exemple un sous dossier aura comme chemin lorsqu'il est ouvert: P:\DEBMACHI\test rail\DEB43388
Oui
voici où se trouve mon script :
P:\DEBMACHI\test rail
Et voici où se trouve tous mes sous-dossiers :
P:\DEBMACHI\test rail
exemple un sous dossier aura comme chemin lorsqu'il est ouvert: P:\DEBMACHI\test rail\DEB43388
Faites attention à l'espace dans le nom du dossier
Si vous récuperez le chemin dans une variable, vérifiez s'il y a des doubles quotes autour.
Et sinon, veillez à en rajouter. Il est possible que votre problème vienne de là. mais j'ai pas tout regardé non plus.
Le plus simple pour tester si ca vient bien de là, c'est de lancer la même chose mais en renommant votre dossier juste "test" par exemple.
je n'utilise pas le nom d'acces car le script se trouvera directement dans le dossier. J'ai quand même changer le nom du dossier en "test"
Chez moi cela fonction mais essaie comme ça et dit moi quel est le résultat
Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 @echo off setlocal enabledelayedexpansion set "SearchDB=%~1" pushd "P:\DEBMACHI\test rail" for /r "%cd%" %%i in ("*.lot*") do ( for /f "usebackq delims=" %%a in (`type "%%~i" ^| find /n /i "DB"`) do ( for /f "usebackq tokens=1 delims=[]" %%b in ('%%~a') do ( set /a "CounterEntries+=1" set "Entrie_!CounterEntries!=%%b" ) ) for /f "usebackq delims=" %%a in (`type "%%~i" ^| find /n /i "DB %SearchDB%"`) do ( for /f "usebackq tokens=1 delims=[]" %%b in ('%%~a') do ( set /a "CounterTarget+=1" set /a "Target_!CounterTarget!_begin=%%b" ) ) for /l %%a in (1 1 !CounterTarget!) do ( for /l %%b in (1 1 !CounterEntries!) do ( if !Entrie_%%b! equ !Target_%%a_begin! ( set /a "Next=%%b + 1" call :Fix %%a !Next! ) ) for /f "usebackq delims=" %%A in (`type "%%~i" ^| find /n /v ""`) do ( for /f "usebackq tokens=1* delims=[]" %%B in ('%%~A') do ( if %%~B geq !Target_%%a_begin! ( if %%~B lss !Target_%%a_end! ( 1>>%SearchDB%.txt echo %%C ) ) ) ) ) ) popd pause exit /b :Fix if defined Entrie_%2 ( set /a "Target_%1_end=!Entrie_%2!" ) else ( set /a "Target_%1_end=0x7FFFFFFF" ) goto :eof
Le gourou dicte la ligne (de commande) à suivre ...
Penser à lire le Tutoriel Batch ou a consulter la FAQ Batch et ses contributions,
ainsi que le Cour sur la ligne de commande et des scripts
Ceci ne fonctionne pas chez moi. J'ai changer le nom du chemin pour qu'il correspond au mien : "P:\DEBMACHI\test"
Merci de m'avoir mi le lien vers le tuto script batch . Dans ce tuto j'ai vu que es extensions de commande doivent être activées pour faire fontionner for /r. Peut etre que sa ne marche pas chez moi à cause de cela ? Comment savoir si elles sont correctement activées ?
Cordialement
ps: j'ai mit en pièce joint le dossier en question de test
pour activer les extensions de commande, il faut remplacer la ligne 2 du script:
Code bat : Sélectionner tout - Visualiser dans une fenêtre à part setlocal enabledelayedexpansion
en
Code bat : Sélectionner tout - Visualiser dans une fenêtre à part setlocal disableextensions enabledelayedexpansion
Le gourou dicte la ligne (de commande) à suivre ...
Penser à lire le Tutoriel Batch ou a consulter la FAQ Batch et ses contributions,
ainsi que le Cour sur la ligne de commande et des scripts
A présent quand je lance mon script il s’arrête tout de suite sans rien faire
je me suis trompé
Code bat : Sélectionner tout - Visualiser dans une fenêtre à part setlocal enableextensions enabledelayedexpansion
Le gourou dicte la ligne (de commande) à suivre ...
Penser à lire le Tutoriel Batch ou a consulter la FAQ Batch et ses contributions,
ainsi que le Cour sur la ligne de commande et des scripts
Pas de souci
A présent sa refait exactement comme avant. La console s'ouvre, puis _ et apres "appuyer sur une touche pour quitter" et aucun fichier n'a été créée![]()
remplace:
Code bat : Sélectionner tout - Visualiser dans une fenêtre à part set "SearchDB=%~1"
par:
Code bat : Sélectionner tout - Visualiser dans une fenêtre à part set "SearchDB=RAILALU"
à la ligne 4.
Le gourou dicte la ligne (de commande) à suivre ...
Penser à lire le Tutoriel Batch ou a consulter la FAQ Batch et ses contributions,
ainsi que le Cour sur la ligne de commande et des scripts
J'avais déjà fait cette modification
Là, comme ça je sèche mais je regarderai ça dans la semaine et je te dirai
Le gourou dicte la ligne (de commande) à suivre ...
Penser à lire le Tutoriel Batch ou a consulter la FAQ Batch et ses contributions,
ainsi que le Cour sur la ligne de commande et des scripts
Partager