Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Petit utilitaire (révolutionnaire) pour les batchs

3 réponses
Avatar
Méta-MCI \(MVP\)
Bonsoir !

Un petit utilitaire révolutionnaire : pipetemp.exe

Ce qu'il fait : il redirige STDOUT vers la variable d'environnement
RESULTAT, via un fichier %TEMP%\temp.bat
Cela permet de récupérer le résultat des commandes consoles, dans un
batch, sans avoir à utiliser FOR, qui est assez pénible.
ATTENTION : la sortie doit être une (seule) ligne.

Un (triple) exemple d'utilisation :

@echo off
setlocal

chcp |pipetemp && call %TEMP%\temp.bat
echo %RESULTAT%

hostname |pipetemp && call %TEMP%\temp.bat
echo Nom HOST : %RESULTAT%

CD /dD:\dev\bat
dir *.bat |find "fichier(s)"|C:\pipetemp && call %TEMP%\temp.bat
echo Batchs :%RESULTAT%

endlocal


@-salutations
--
Michel Claveau


PS : je n'ai pas le temps de le mettre en ligne avant vendredi. Soyez
patients.

3 réponses

Avatar
Jacques Barathon [MS]
"Méta-MCI (MVP)" wrote in message
news:477c19d4$0$858$
Bonsoir !

Un petit utilitaire révolutionnaire : pipetemp.exe

Ce qu'il fait : il redirige STDOUT vers la variable d'environnement
RESULTAT, via un fichier %TEMP%temp.bat
Cela permet de récupérer le résultat des commandes consoles, dans un
batch, sans avoir à utiliser FOR, qui est assez pénible.


Révolutionnaire! Tu powershellises CMD? :-)

ATTENTION : la sortie doit être une (seule) ligne.


Dommage. Mais c'est déjà pas mal.

Par contre, je suggérerais d'appeler la variable %pipetemp% plutôt que
%resultat% : le nom RESULTAT est trop commun et risque donc d'être déjà
utilisé dans un script un peu long, en plus le nom PIPETEMP est facile à
retenir puisque c'est le nom de l'exécutable qui génère la variable.

Sinon, tu pourrais proposer de passer le nom de la variable en paramètre, ce
serait possible?

Jacques

Avatar
MCI \(ex do ré Mi chel la si do\) [MVP]
Bonjour !

je suggérerais d'appeler la variable %pipetemp%


Très bonne idée ! Je vais faire la modif dans l'après midi. Encore
faudra-t'il que j'eusse mémorisé(1) ta suggestion.

passer le nom de la variable en paramètre, ce serait possible?


Aaaargh ! C'est une idée qui aurait été(2) facile à réaliser. Mais,
entre temps, j'ai déjà ajouté deux paramètres optionnels : une liste de
"séparateurs" et un numéro d'item. (pour pouvoir "splitter" le
résultat, et n'en récupérer qu'un (seul) morceau.
Je vais voir, en basculant vers des paramètres nommés.

@+

Michel Claveau




(1) utilisation du plus-que-parfait du subjonctif, pour montrer à ma
fille que ça peut s'employer "en vrai".

(2) utilisation du futur antérieur, pour montrer à ma fille que ça
s'utilise aussi "en vrai".

Avatar
MCI \(ex do ré Mi chel la si do\) [MVP]
Re !

Tu powershellises CMD?


Il faut bien que je progresse, vu que MS, pour Vista me pique des idées
d'utilitaires (par exemple Clip.exe, qui fait la même chose que mon
utilitaire fclipboard.exe ; ou timeout.exe qui remplace sleepm.exe)

@-salutations

Michel Claveau