Deux premieres lettres d'une variable Batch
Résolu/Fermé
Bonjour à tous,
Dans un script .bat, j'ai une variable %donne ( par exemple 12-24-25.jpg )
J'aimerais avoir les deux premières lettres de cette variable ( donc 12 ).
Si quelqu'un sait, je vous remercie
Dans un script .bat, j'ai une variable %donne ( par exemple 12-24-25.jpg )
J'aimerais avoir les deux premières lettres de cette variable ( donc 12 ).
Si quelqu'un sait, je vous remercie
A voir également:
- Deux premieres lettres d'une variable Batch
- Fichier batch - Guide
- Deux ecran pc - Guide
- Comment faire deux colonnes indépendantes dans word - Guide
- Un ecouteur sur deux marche ✓ - Forum Audio
5 réponses
Krysstof
Messages postés
1483
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
23 août 2010
294
21 juin 2010 à 16:07
21 juin 2010 à 16:07
set toto=abcde
echo %toto:~0,2%
--> ab
echo %toto:~1,3%
--> bcd
echo %toto:~0,2%
--> ab
echo %toto:~1,3%
--> bcd
termgsi
Messages postés
678
Date d'inscription
vendredi 5 juin 2009
Statut
Membre
Dernière intervention
3 novembre 2016
39
21 juin 2010 à 16:11
21 juin 2010 à 16:11
Bonjour,
Essaye .2%donne
Essaye .2%donne
j'ai essayé ce que vous me donnez, merci.. mais je n'arrive pas à le faire marché.
En fait, c'est dans une boucle for :
for /F %%C IN ('dir %source%\%%A\%%B /O:-D /B') do (
echo "deuxpremiereslettrede%%C"
)
%%C contient le nom des fichiers jpg.
merci
En fait, c'est dans une boucle for :
for /F %%C IN ('dir %source%\%%A\%%B /O:-D /B') do (
echo "deuxpremiereslettrede%%C"
)
%%C contient le nom des fichiers jpg.
merci
Krysstof
Messages postés
1483
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
23 août 2010
294
21 juin 2010 à 16:31
21 juin 2010 à 16:31
voila un bout de code :
-------------
@echo off
if %1*==sub01* goto sub01
for /F %%C IN ('dir %source% /O:-D /B') do call %0 sub01 %%C
goto fin
:sub01
set toto=%2
echo %toto:~0,2%
:fin
----------
c'est un batch récursif (qui s'appelle lui meme)
dans "DO ()" les "SET" ne fonctionnent pas.
Mais ton programme ne va pas fonctionner tel quel, %%A et %%B ne doivent pas être dans les parenthese de ta boucle for (sauf s'il y a un FOR encore avant)
-------------
@echo off
if %1*==sub01* goto sub01
for /F %%C IN ('dir %source% /O:-D /B') do call %0 sub01 %%C
goto fin
:sub01
set toto=%2
echo %toto:~0,2%
:fin
----------
c'est un batch récursif (qui s'appelle lui meme)
dans "DO ()" les "SET" ne fonctionnent pas.
Mais ton programme ne va pas fonctionner tel quel, %%A et %%B ne doivent pas être dans les parenthese de ta boucle for (sauf s'il y a un FOR encore avant)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
oui oui %%A et %%B sont dans un autre FOR.
C'était juste un bout de code...
Finalement, j'ai réussi à trouver seul :
voici l'exemple si ça vous interesse
setlocal EnableDelayedExpansion
set file=
.....
for /F %%C IN ('dir %source%\%%A\%%B /O:-D /B') do (
set file=%%C
echo !file:~0,2!
)
je suis passé par une variable locale file.
je ne sais pas si c'est la meilleure solution, mais en tout cas ça fonctionne
C'était juste un bout de code...
Finalement, j'ai réussi à trouver seul :
voici l'exemple si ça vous interesse
setlocal EnableDelayedExpansion
set file=
.....
for /F %%C IN ('dir %source%\%%A\%%B /O:-D /B') do (
set file=%%C
echo !file:~0,2!
)
je suis passé par une variable locale file.
je ne sais pas si c'est la meilleure solution, mais en tout cas ça fonctionne