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
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
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
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.
J'avais déjà fait cette modification
Là, comme ça je sèche mais je regarderai ça dans la semaine et je te dirai
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager