Réaliser un batch...
Fermé
PAPY
-
Modifié par ^Abel^ le 6/10/2016 à 17:50
PAPYELY Messages postés 4 Date d'inscription jeudi 6 octobre 2016 Statut Membre Dernière intervention 11 octobre 2016 - 11 oct. 2016 à 17:14
PAPYELY Messages postés 4 Date d'inscription jeudi 6 octobre 2016 Statut Membre Dernière intervention 11 octobre 2016 - 11 oct. 2016 à 17:14
A voir également:
- Réaliser un batch...
- Fichier batch - Guide
- Réaliser un organigramme - Guide
- Réaliser un graphique sur excel - Guide
- Batch renommer une partie du nom de plusieurs fichiers ✓ - Forum Autoit / batch
- Script batch utile ✓ - Forum Programmation
5 réponses
dubcek
Messages postés
18752
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
3 octobre 2024
5 619
7 oct. 2016 à 07:59
7 oct. 2016 à 07:59
hello
ce n'est pas clair, quel doit être le résultat ?
ce n'est pas clair, quel doit être le résultat ?
PAPYELY
Messages postés
4
Date d'inscription
jeudi 6 octobre 2016
Statut
Membre
Dernière intervention
11 octobre 2016
7 oct. 2016 à 09:36
7 oct. 2016 à 09:36
Merci DUBCEK de vous intéresser à mon problème.
Soit, dans une variable <VAR1> les 2, 3 ou 4 directories des clés usb susceptibles d'être utilisées, telles que Y, Z, V, W . Mon exemple:
Je désigne la clé V en troisième position (CHOICE 1,2,3,4)
Si j'écris <VAR3> = set /a %VAR1:~3,1% la réponse est V. Parfait.
Si <VAR2>, à l'issue du choix, est 3, je pensais naïvement pouvoir obtenir la réponse "V" en écrivant <VAR3> = set /a %VAR1:~%VAR2%,1%.
RIEN ! .
Merci de votre aide et bien sincères salutations
PAPY
Soit, dans une variable <VAR1> les 2, 3 ou 4 directories des clés usb susceptibles d'être utilisées, telles que Y, Z, V, W . Mon exemple:
Je désigne la clé V en troisième position (CHOICE 1,2,3,4)
Si j'écris <VAR3> = set /a %VAR1:~3,1% la réponse est V. Parfait.
Si <VAR2>, à l'issue du choix, est 3, je pensais naïvement pouvoir obtenir la réponse "V" en écrivant <VAR3> = set /a %VAR1:~%VAR2%,1%.
RIEN ! .
Merci de votre aide et bien sincères salutations
PAPY
dubcek
Messages postés
18752
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
3 octobre 2024
5 619
7 oct. 2016 à 10:57
7 oct. 2016 à 10:57
la 1ère position est à 0
C:> set var1=yzvw
C:> set var3=%var1:~2,1%
C:> echo %var3%
v
C:> set var4=%var1:~3,1%
C:> echo %var4%
w
PAPYELY
Messages postés
4
Date d'inscription
jeudi 6 octobre 2016
Statut
Membre
Dernière intervention
11 octobre 2016
7 oct. 2016 à 11:40
7 oct. 2016 à 11:40
DUBCEK RE-merci,
Je mesure la difficulté que peux être la vôtre d'avoir affaire à des débutants qui ne s'expriment pas clairement:
la 1ère position est à 0 Ok,
C:> set var1=yzvw
C:> set var3=%var1:~2,1%
C:> echo %var3%
v
C:> set var4=%var1:~3,1%
C:> echo %var4%
w
C'est justement ces positions 2, 3 ou . . que je souhaiterais pouvoir remplacer par la <VAR2>. Ce qui, dans ma syntaxe actuelle, n'est pas du tout apprécié par le système.
Avec mes bien sincères salutation
PAPY
La connaissance est l'unique bien dont personne ne peut te dépouiller.
Je mesure la difficulté que peux être la vôtre d'avoir affaire à des débutants qui ne s'expriment pas clairement:
la 1ère position est à 0 Ok,
C:> set var1=yzvw
C:> set var3=%var1:~2,1%
C:> echo %var3%
v
C:> set var4=%var1:~3,1%
C:> echo %var4%
w
C'est justement ces positions 2, 3 ou . . que je souhaiterais pouvoir remplacer par la <VAR2>. Ce qui, dans ma syntaxe actuelle, n'est pas du tout apprécié par le système.
Avec mes bien sincères salutation
PAPY
La connaissance est l'unique bien dont personne ne peut te dépouiller.
dubcek
Messages postés
18752
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
3 octobre 2024
5 619
7 oct. 2016 à 12:04
7 oct. 2016 à 12:04
dans ce genre ?
C:> bb
choix 1 Y
choix 2 Z
choix 3 V
choix 4 W
C:> type bb.bat
@echo off
setlocal enabledelayedexpansion
set VAR1=YZVW
for /L %%a in (0,1,3) do (
set /a c=%%a+1
echo choix !c! !VAR1:~%%a,1!
)
PAPYELY
Messages postés
4
Date d'inscription
jeudi 6 octobre 2016
Statut
Membre
Dernière intervention
11 octobre 2016
Modifié par PAPYELY le 7/10/2016 à 20:04
Modifié par PAPYELY le 7/10/2016 à 20:04
Bonsoir DUBCEK,
Merci de votre célérité. Je serai moins rapide à cause déplacement familial cette fin de semaine.
Je reprends contact dès LUNDI,
Bon dimanche et sincères salutations,
PAPY
La connaissance est l'unique bien dont personne ne peut te dépouiller.
Merci de votre célérité. Je serai moins rapide à cause déplacement familial cette fin de semaine.
Je reprends contact dès LUNDI,
Bon dimanche et sincères salutations,
PAPY
La connaissance est l'unique bien dont personne ne peut te dépouiller.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
PAPYELY
Messages postés
4
Date d'inscription
jeudi 6 octobre 2016
Statut
Membre
Dernière intervention
11 octobre 2016
11 oct. 2016 à 17:14
11 oct. 2016 à 17:14
DUBCEK bonsoir,
Je suis enfin parvenu à un résultat dont je vous fais part:
set var1="YZVW" (les différentes clés présentes sur le système)
set var2=3 (désignation de la clé en <V>
set Var3=1
echo set Var4=%%Var1%:~%Var2%,%Var3%%% > %TEMP%\TMP.BAT
call %temp%\tmp
echo La clé est reconnue en VOLUME %Var4% extraite de %Var1%
UNE lettre (Var3) càd la TROISIEME (Var2) a été extraite de la CHAINE (Var1)
Merci à vous, merci à CCM et au plaisir de pouvoir être moi-même, utile.
PAPY
La connaissance est l'unique bien dont personne ne peut te dépouiller.
Je suis enfin parvenu à un résultat dont je vous fais part:
set var1="YZVW" (les différentes clés présentes sur le système)
set var2=3 (désignation de la clé en <V>
set Var3=1
echo set Var4=%%Var1%:~%Var2%,%Var3%%% > %TEMP%\TMP.BAT
call %temp%\tmp
echo La clé est reconnue en VOLUME %Var4% extraite de %Var1%
UNE lettre (Var3) càd la TROISIEME (Var2) a été extraite de la CHAINE (Var1)
Merci à vous, merci à CCM et au plaisir de pouvoir être moi-même, utile.
PAPY
La connaissance est l'unique bien dont personne ne peut te dépouiller.