Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1208 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [Batch] Besoin d'explication sur une variable

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Batch] Besoin d'explication sur une variable

n°2392339
titis14
Posté le 30-07-2021 à 15:11:50  profilanswer
 

Bonjour,
J'ai récupérer un script batch pour désinstaller un antivirus, ce script est très bien il fonctionne bien en local sur un PC le souci c'est quand je le passe par mon outil ITSM (Ivanti) de gestions de parc pour faire une désinstallation silencieuse il passe en échec.
Après différents tests je me suis rendu compte qu'il n'aime pas les caractère "~" qui sont dans différentes variables. Je l'ai retiré sur certaines et le script va plus loin.
Ma question est de savoir à cela sert ?  
 
Voici un exemple pris dans le script:
set searchResults= %%v)
set trapsVersion=%searchResults:~30%
echo Found Cortex XDR version: %trapsVersion%
echo Found Cortex XDR version: %trapsVersion% >> %logFile%
set trapsVersion=%trapsVersion:~0,5%
set trapsMainVersion=%trapsVersion:~0,2%
 
je ne vois pas trop a quoi correspond ~30 ou ~0.5 ...
 
Merci pour vos réponses.


Message édité par titis14 le 30-07-2021 à 15:12:47
mood
Publicité
Posté le 30-07-2021 à 15:11:50  profilanswer
 

n°2392340
rat de com​bat
attention rongeur méchant!
Posté le 30-07-2021 à 15:26:22  profilanswer
 

Regarde CMD /?.
 
Au pif je dirais c'est une espèce de substr().

n°2392344
titis14
Posté le 30-07-2021 à 15:39:39  profilanswer
 

Avec ta commande j'ai trouvé ça:
Le code de terminaison traite correctement les noms de fichiers contenant des
espaces ou d’autres caractères spéciaux, en plaçant des guillemets autour des
chemins correspondants. Si vous reculez le curseur et appelez ensuite la
terminaison, le texte à droite du curseur lorsque la terminaison est demandée
est ignoré.
 
Les caractères spéciaux qui requièrent des guillemets sont :
 <espace>
 &()[]{}^=;!'+,`~
 
Tu as surement raison exemple ici avec mon code:
set trapsVersion=%trapsVersion:~0,5%
set trapsMainVersion=%trapsVersion:~0,2%
 
Il doit récupérer une partie de la version dans la première ligne et dans la seconde une sous version par exemple.
Dans mon code au dessus de ces ligne il dans le registre chercher une version qui est la 7.3.2.26319


Message édité par titis14 le 30-07-2021 à 15:44:40
n°2393520
ericlm128
Posté le 18-08-2021 à 09:14:57  profilanswer
 

Je confirme
 
Pour bien faire et t'éviter des problèmes écrit plutôt comme ceci

Code :
  1. set "trapsVersion=%trapsVersion:~0,5%"


 
Aide

Code :
  1. set /?
  2. ...
  3. La substitution de la variable d’environnement a été améliorée comme suit :
  4.     %PATH:ch1=ch2%
  5. développe la variable d’environnement PATH, remplaçant chaque
  6. occurrence de "ch1" dans le résultat développé par "ch2".  "ch2" peut être
  7. une chaîne vide pour supprimer toutes les occurrences de "ch1" de la sortie
  8. développée. "ch1" peut commencer par un astérisque, auquel cas
  9. la commande traitera la chaîne à partir du début et jusqu’à la première
  10. occurrence du reste de ch1.
  11. Vous pouvez aussi spécifier des sous-chaînes pour une expression.
  12.     %PATH:~10,5%
  13. développe la variable d’environnement PATH et utilise seulement 5
  14. caractères à partir du onzième (décalage de 10)  dans le résultat sous forme
  15. développée. Si la longueur n’est pas spécifiée, tout le reste de la valeur
  16. de la variable est traité. Si l’une des valeurs (décalage ou longueur)
  17. est négative, alors le nombre utilisé est la longueur de la valeur de la
  18. variable d’environnement ajoutée au décalage ou à la longueur donné.
  19.     %PATH:~-10%
  20. extrait les 10 derniers caractères de la variable PATH.
  21.     %PATH:~0,-2%
  22. extrait tous les caractères sauf les deux derniers de la variable PATH.
  23. ...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [Batch] Besoin d'explication sur une variable

 

Sujets relatifs
Besoin d'aide pour la conception de mon MCDBatch pour print massif
Batch fichier host[Batch] Ajout date création au nom lors d'une copie
Comment tester une liste d'URLs en batch ou PS avec log ?[CMD] Probleme de variable
[RÉGLÉ]Mediawiki - Besoin de dépannage urgent - Sidebar en bas de pageAide Batch copy + rename (plusieurs dossiers a traiter en même temps)
Batch dont la modification ne fonctionne que si je copie le fichierVariable d'environnement
Plus de sujets relatifs à : [Batch] Besoin d'explication sur une variable


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR