Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
Extraire une chaîne
Auteur Message
Répondre en citant
Message Extraire une chaîne 
Bonjour !

J'aimerais extraire une chaîne particulière à partir d'un caractère précis.

Voici la chaîne /aaa/bbb/ccc/DD11111_EE22222/fff/ggg qui est stockée dans une variable (disons $x)

J'aimerais extraire sous-chaîne DD11111_EE22222, mais j'y arrive pas. Le problème consiste au fait que j'ai pas toujours /aaa/bbb/ccc/ comme pathway (le nombre de fichiers à parcourir peut varier). Donc la seule option que je vois est de spécifier que la sous-chaîne à extraire doit commencer par "DD" et avoir une longueur de 15 caractères (la longueur reste toujours la même). Mais malheureusement j'ai pas réussi à trouver comment spécifier une telle condition. Pourriez-vous m'aider ?



Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Extraire une chaîne 
Salut,

On peut imaginer de boucler sur chaque element du chemin et tester les 2 premiers caractères. Si on a DD on test si on a bien 15 carctères
si c'est le cas on a le resultat :


Code:
@echo off&cls
setlocal enabledelayedexpansion


set "$x=/aaa/bbb/ccc/DD11111_EE22222/fff/ggg"
set "$x=%$x:/= %"

for %%a in (%$x%) do (
   set "$test=%%a"
   if "!$test:~0,2!"=="DD" (
      for /F "delims=" %%c in ('cmd /D /U /C echo %%a ^| find /V ""') do (set /a $long+=1)
      if "!$long!"=="16" echo =^> %%a
   )
)


Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message Extraire une chaîne 
Hello,

Pour checker tout un lecteur à la recherche de ton dossier:
Wink

Code:

@echo off
setlocal enabledelayedexpansion enableextensions
for /f "tokens=*" %%A in ('dir c:\*DD* /b /s ^| find /v "."') do (
   call :CHECK "%%~nxA"
   )
pause
exit /b 0
:CHECK
for /f "tokens=1,* delims=[,]" %%B in ('"%comspec% /u /c echo:%~1|more|find /n /v """') do set /a SIZE=%%B-4
if %SIZE%==15 echo %~1
goto :EOF





______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Message Extraire une chaîne 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



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