aide à la compréhension d'un script
Salut à tous,
Je dois fournir un script qui aurait comme option de pouvoir detecter si un logiciel est bien installer ou pas avant de continuer son execution afin de bien remplir sa tâche correctement.je manipule 3 logiciels différents par des script xml.
J'ai trouvé un script sur le net qui fait ce que je souhaiterais obtenir dans une variable, a savoir le PATH du dossier du logiciel recherché.Malheureusement c'est un script autonome qui demande un paramètre par l'utilisateur, alors que moi je connais déjà les paramètres a rentrer à la commande et je souhaite le faire faire automatiquement.
D'ou le fait de vouloir le comprendre pour mieux le manipuler comme je le souhaite pour mon projet.
Le script est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10
| @echo off
set Liste=C
for %%a in (%Liste%) do for /f "delims=" %%b in ('dir /s /b /ad "%%a:\" 2^>NUL ^| findstr /i "\%~1$"') do (
set dossier=%%b
goto :Sortie
)
echo %1 introuvable dans %Liste%
goto :eof
:Sortie
echo %dossier% |
Je n'arrive pas à comprendre quel valeur prennent les variables %%a et %%b?
que signifie et à quel moment dois-je utiliser ou pas les guillemets?
que signifie et à quel moment dois-je utiliser ou pas les quotes?
que signifie et à quel moment dois-je utiliser ou pas les chapeaux(après le 2)?
Car je comprend la commande 2>NUL mais pas pourquoi il utilise ce signe.
et pour finir que signifie au juste
"\%~1$" ?
Cela peux vous paraitre évident et accessible facilement mais en fesant des recherche sur le web je ne tombe que sur doc assez basique du BATCH ou des austère qui ne traite pas vraiment de cela car pour eux c'est évident.
Donc je suis entre le novice et l'experimenté et je ne trouve aucunes doc qui me correspondent pour répondre à mes questions, alors ca serait sympa à vous de me donner un ti coup de puce ;)
Je vous souhaite d'ici là une bonne année à tous et à vos codes
:yaisse2: