, Bruno Orsier Voici un nouvel exemple d'utilisation de Powershell, histoire de peut-être vous donner envie de pratiquer ce shell bien utile. Dans mes tests, j'ai souvent un processus qui tourne en boucle, d'ailleurs grâce un script posté dans un billet précédent. Ce processus génère un fichier de log à chaque fois, ce qui me fait des dizaines de milliers de fichiers. Pour éviter de remplir le disque dur, je voudrais garder uniquement les fichiers de log qui présentent un intérêt, par exemple ceux qui contiennent le mot ERROR. C'est facile en PowerShell, avec un peu de pratique on peut le faire directement sur la ligne de commande :
Vous devez être identifié pour poster un commentaire.
Je dois souvent surveiller des processus, typiquement pour voir comment évolue leur consommation de mémoire, le nombre de handles, de threads etc. Pour cela, perfmon.exe est un outil bien approprié, et permet d'afficher beaucoup de compteurs de performance Windows, et également de les sauvegarder dans un fichier journal :
Vous devez être identifié pour poster un commentaire.
Voici un autre billet initialement publié sur notre blog interne, et que je republie en externe.
Pour montrer comment j'utilise PowerShell (le shell remplaçant DOS, et développé par Microsoft sur .NET), voici un petit exemple de lancement de programme en boucle. C'est le script que j'utilise en ce moment pour essayer de reproduire un gel d'un de nos logiciels qui est constaté chez un client.
[Contexte : ce gel arrive 2 à 3 fois par an, et uniquement chez ce client - la fréquence d'apparition est donc très faible, c'est pourquoi je suis conduit à faire des centaines de milliers d'exécution pour essayer de le reproduire - et c'est pourquoi l'automatisation via PowerShell est très utile]
Ce script maintient en exécution simultanée x instances d'un programme donné, jusqu'à ce qu'on parvienne à un nombre donné de lancements.
Vous devez être identifié pour poster un commentaire.
Voici un exemple de billet publié sur notre blog interne. Mon but est d'alimenter le blog interne avec du contenu utile pour mes collègues, tout en me servant de ce blog pour remplacer les cahiers où je notais autrefois les trucs et astuces que j'apprenais. Le contexte : j'apprends régulièrement un peu de PowerShell, le nouveau shell de Microsoft, car cela me rend service dans mon travail, et je pense qu'il serait utile aussi à mes collègues. Le billet ci-dessous présente donc un exemple tout simple d'accès au journal d'événement Windows.
Vous devez être identifié pour poster un commentaire.
, Bruno Orsier AutoHotkey est un logiciel gratuit qui me permet quotidiennement de simplifier certaines tâches répétitives. Par exemple saisir les dates dans notre format normalisé, taper les formules de politesse dans les mails, taper plus vite les expressions courantes lors des traductions, écrire des macros pour répéter un test de logiciel des milliers de fois, insérer des bouts de code pendant la programmation, insérer certains commentaires pour respecter nos normes de codage... Bref, une sorte de couteau suisse. Evidemment il y a des outils spécialisés pour tout ca : dans Office on peut écrire des macros, dans les environnements de programmation aussi, etc. Mais comme j'utilise beaucoup de logiciels, je ne maîtrise pas forcément les particularités de chacun, et un couteau suisse est bien utile dans mon cas.
Dans AutoHotkey on réalise tout cela grâce à des fichiers de script que l'on exécute soit en permanence, soit ponctuellement. Un fichier de script peut également être compilé en un exécutable Windows que l'on peut faire tourner sur n'importe quel PC, même si AutoHotkey n'est pas installé. Bon j'en ai déjà marre d'écrire AutoHotkey sans arrêt, avec les majuscules bien placées, alors je vais automatiser ca ! J'édite le script principal, via la barre d'icônes, cela lance Notepad (il y a des modes AutoHotkey disponibles dans des éditeurs plus avancés), et il me suffit d'insérer la ligne :
::ah::AutoHotkey
pour que maintenant dans n'importe quelle application Windows, le fait de taper ah insère automatiquement AutoHotkey. Quand je travaillais sur la traduction de Scrum et XP depuis les tranchées, j'avais défini des abréviations comme :
Vous devez être identifié pour poster un commentaire.
, Bruno Orsier N'avez-vous jamais trouvé étrange que dans les "romans d'affaires", comme le célèbre Le But : Un processus de progrès permanent, le héros qui fait face à un problème insoluble prend souvent sa voiture, et roule plusieurs heures tout en réfléchissant à ses difficultés ? Moi cela m'a toujours surpris. J'ai longtemps mis ca sur le compte d'une particularité culturelle américaine, en lien avec les grands espaces et la prédominance de la voiture comme moyen de transport. Toutefois j'ai changé d'avis récemment en lisant Dessiner grâce au cerveau droit. L'auteur, Betty Edwards, y explique que la conduite sollicite fortement notre cerveau droit, cerveau droit que certains d'entre-nous sous-utiliserions dans la résolution de problèmes. Betty Edwards animait d'ailleurs des séminaires en entreprise pour aider les gens à mieux réfléchir grâce au dessin.
Cette idée d'un rôle asymétrique des deux hémisphères du cerveau ne semble pas avoir de réalité neurologique (voir par exemple Cerveau droit, cerveau gauche : le mythe). Il n'empêche que je me retrouve dans la description du mode "cerveau gauche" (verbal/analytique/séquentiel), et je me suis aperçu qu'il m'était utile de faire travailler délibérément un mode "cerveau droit" (visuel/perceptif/simultané). C'est particulièrement vrai en résolution de problèmes informatiques, comme le développement de nouveaux algorithmes ou l'investigation de problèmes mystérieux.
Dans ce billet je décris une technique moins dangereuse que la méthode américaine basée sur la voiture, à savoir l'utilisation de cartes mentales.
Vous devez être identifié pour poster un commentaire.
, Bruno Orsier Quand je travaille en pair-programming avec des collègues, et que nous devons retrouver un fichier sur le disque dur, je suis parfois horrifié de voir que mon binôme lance l'outil de recherche intégré à Windows... La moindre recherche avec cet instrument préhistorique prend de longues minutes, et nous fait perdre le fil de notre travail en cours. C'est un bon outil pour votre grand-mère qui se met à l'informatique, mais il n'est pas suffisamment pratique pour un développeur professionnel, à mon avis.
En ce qui me concerne j'utilise depuis longtemps l'excellent freeware Agent Ransack, il est raisonnablement rapide (il mémorise les fichiers scannés dans sa première recherche, les recherches suivantes sont alors beaucoup plus rapides) et raisonnablement puissant (il supporte des expressions régulières dignes de ce nom, avec un wizard pour aider à les construire).
Je l'utilise un peu moins ces dernières années, depuis que je suis passé à l'indexation de tous mes fichiers, y compris (et surtout) mes fichiers de code source, comme je l'ai expliqué dans un article sur le principe DRY (Do not Repeat Yourself). Mon outil préféré est maintenant X1 - il n'est pas gratuit, mais 50$ ca vaut pour le coup pour avoir toutes mes réponses à mes questions sur mes fichiers ou mes mails en une minute environ.
Mais il y a encore plus rapide en ce qui concerne la recherche sur le nom des fichiers (pas sur leur contenu toutefois). Mes deux informateurs d'outils (freewaregenius et Gizmo's Best-ever Freeware ) viennent de l'annoncer tous les deux. Il s'agit d'un tout petit programme appelé Everything, et il est ultra-rapide car il ne parcours pas les fichiers comme le font tous les autres outils. A la place, il exploite les informations de la Master File Table des volumes NTFS - cette table contient des données sur tous les fichiers et dossiers d'un disque formaté en NTFS. Evidemment cela ne fonctionne que pour les disques NTFS, mais cela n'est guère gênant à l'heure actuelle.
Essayez-le, le temps de réponse est de l'ordre de la seconde !
Vous devez être identifié pour poster un commentaire.
| Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 |
Copyright © 2000-2012 - www.developpez.com