Deux premieres lettres d'une variable Batch
Résolu/Fermé
A voir également:
- Deux premieres lettres d'une variable Batch
- Deux comptes whatsapp - Guide
- Triez cette liste par ordre alphabétique des villes et par note de la meilleure à la moins bonne. quel mot est formé par les 8 premières lettres de la colonne code ? ✓ - Forum Excel
- Fichier batch - Guide
- Vba range avec variable ✓ - Forum VB / VBA
- J'ai deux compte facebook avec la meme adresse mail ✓ - Forum Facebook
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