Filtrer un résultat - Batch Windows

Résolu
marc750 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
marc750 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je souhaite par l'intermédiaire d'un batch Windows, filtrer un "résultat".
Grosso modo, j'ai des machines sous le nom générique : PCMPAXXX ou encore PCMPAMXX
XXX et XX étant ensuite remplacés par une série de chiffres : Respectivement 001, 002 etc. et 01, 02, etc.

Au travers d'une variable, je récupère uniquement les digits. Ici pour les machines en PCMPAXXX : set ipmachine=%computername:~5,3%

Souhaitant maintenant utiliser le nom de chaque machine pour y attribuer une IP spécifique, j'aimerais filtrer ce "résultat" en écartant tout caractère "0" avant un chiffre supérieur à 0.
Dans le cas de PCMPA001 par exemple, je ne souhaiterais donc garder que "1" et pour autre exemple, ne garder que "25" pour PCMPA025.

Une idée peut-être ?

Merci de votre aide.

Cordialement,

Marc.
A voir également:

1 réponse

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
C:> set computername=PCMPA001
C:> set ipmachine=%computername:~5,3%
C:> echo %ipmachine%
001
C:> set ipmachine=%ipmachine:0=%
C:> echo %ipmachine%
1
1
marc750 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Hello et merci de la réponse.
Toutefois, si ne je dis pas de bêtise, dans le cas d'un nom de machine comme PCMPA101, cela ne fonctionnera pas comme je le souhaite.
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
effectivement, alors comme ça
C:> set  a=101
C:> set /a a=1000%a% % 1000
101
C:> set a=001
C:> set /a a=1000%a% % 1000
1
C:> set a=100
C:> set /a a=1000%a% % 1000
100
C:> set a=009
C:> set /a a=1000%a% % 1000
9
C:> set a=022
C:> set /a a=1000%a% % 1000
22
0
marc750 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Je vais tester, merci.
Entre temps, j'ai trouvé une solution également :
set ipclient=%computername%
set ipclient=%ipclient:PCMPA00=%
set ipclient=%ipclient:PCMPA0=%
set ipclient=%ipclient:PCMPAM0=%
0