Réaliser un batch...
PAPY
-
PAPYELY Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
PAPYELY Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour, à tous et à chacun.
Dans le but de réaliser des sauvegardes croisées entre 2, 3 ou 4 clés USB dont les volumes sont Y, Z, V et W, je tente de réaliser un batch qui me permette d'y parvenir.
Jusque là tout va bien et en fonction des clés présentes j'obtiens - pour l'exemple - la variable <VAR1> = "YZVW". S'ensuit un choix <VAR2>, disons =3. Je m'épuise vainement à trouver une formule qui fonctionne, dans le genre:
<VAR3> = set /a %VAR1:~%VAR2%,1% . . . patatras.
Alors que <VAR1>:~3,1% répond bien "V".
D'avance merci à celui qui sait et qui voudra bien partager
PAPY
La connaissance est l'unique bien dont personne ne peut te dépouiller.
Dans le but de réaliser des sauvegardes croisées entre 2, 3 ou 4 clés USB dont les volumes sont Y, Z, V et W, je tente de réaliser un batch qui me permette d'y parvenir.
Jusque là tout va bien et en fonction des clés présentes j'obtiens - pour l'exemple - la variable <VAR1> = "YZVW". S'ensuit un choix <VAR2>, disons =3. Je m'épuise vainement à trouver une formule qui fonctionne, dans le genre:
<VAR3> = set /a %VAR1:~%VAR2%,1% . . . patatras.
Alors que <VAR1>:~3,1% répond bien "V".
D'avance merci à celui qui sait et qui voudra bien partager
PAPY
La connaissance est l'unique bien dont personne ne peut te dépouiller.
A voir également:
- Réaliser un batch...
- Fichier batch - Guide
- Réaliser un organigramme - Guide
- Réaliser un camembert graphique - Guide
- Batch converter - Télécharger - Photo & Graphisme
- Réaliser un sommaire sur word - Guide
5 réponses
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
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
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.
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!
)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.