Powershell – Petite astuce

Il est assez simple d’enrichir un tableau d’objets en y ajoutant une colonne personnalisée.

Etape 1:

Là on est venu greffer une nouvelle colonne ‘Column Name’ à la sortie de Get-Process. Résultat :

Etape 2 :

On va mettre un peu de dynamique dans tout ça et mettre une colonne personnalisée ‘Progress’ affichant une valeur entre 1 et 100, comme pour un pourcentage.

C’est déjà plus sympatique.

Etape 3 :

C’est ici que la magie opère. Souvenez vous que l’expression ( ;e={…}  ) qui définit la valeur de la colonne est censée renvoyer un text, n’importe lequel. Et si j’avais envie que cette colonne m’affiche un pourcentage mais sous une forme plus graphique. Par exemple, au lieu de 68%, on afficherait “68% [ooooooo   ]”, un peu comme une barre de progression. Eh bien, c’est exactement ce que fait la petite fonction que je vous offre aujourd’hui. Tout d’abord, le résultat en image :

Plutôt sympa, non ? Voici le code complet :

La fonction Draw-Percent a trois paramètres :

  • Value : valeur du pourcentage à afficher (entre 0 et 100)
  • Index : facultatif. Définit quel symbole (à choisir parmi o, #, ■, |, -, *)  sera utilisé pour dessiné la barre de progression. Par défaut, c’est le petit carré ■.
  • Width : facultatif. Définit la largeur (en nombre de caractère) de la barre de progression. Par défaut, la taille est de 10 car mais vous pouvez l’élargir si nécessaire.

J’espère que cette petite astuce vous aura plu. Amusez vous bien 🙂

Mise à jour :

Exemple pratique : Get disk Used Space

 

Astuce – Créer un fichier d’une taille donnée

J’ai du dernièrement effectués des tests d’envoi de messages avec des pièces jointes de taille donnée.

Le plus simple semble être de rechercher sur son disque des fichiers dont la taille correspondant à peu à ce qu’on cherche mais on a vite fait de commencer à tourner en rond.

Le plus simple est donc de créer soit même un fichier (vide) dont la taille sera exactement celle souhaitée.

En ligne de commande, exécuter simplement:

et le tour est joué. Vous venez de créer un fichier de 1MB dans le répertoire c:\temp.