Il y a longtemps, j'ai écrit un script simple qui supprime tous les sous-répertoires portant des noms donnés dans un répertoire spécifié :
Remove-Item * -Force -Recurse -Include name1,name2,name3 -ErrorAction SilentlyContinue Je ne l'ai pas utilisé depuis longtemps, mais maintenant j'en ai besoin. Je le lance : rien n'est supprimé.
« WTF ? », me suis-je demandé. J'ai commencé à fouiller. J'ai fouillé, fouillé, tout vérifié, créé une liste à l'avance et modifié les noms ; ça ne supprime toujours rien. Finalement, j'ai lu dans leur documentation : « En fait, -Include est bogué lorsqu'il est utilisé avec -Recurse, utilisez donc la construction hacky.":
Étant donné que le paramètre Recurse dans Remove-Item présente un problème connu, la commande de cet exemple utilise Get-ChildItem pour obtenir les fichiers souhaités, puis utilise l'opérateur de pipeline pour les transmettre à Remove-Item.
Bon, d'accord, je l'ai réécrit avec ce hack. Ça ne supprime rien. De plus, Get-ChildItem с -Comprendre Renvoie la valeur vide. Encore une fois, quoi que j'aie fait, quoi que j'aie fait avec les paramètres, ça ne fonctionne pas. Le problème principal est que… -Exclure fonctionne, mais avec -Comprendre Impossible. J'ai passé la journée là-dessus : je me disais sans cesse que j'avais fait une erreur dans les paramètres, que j'avais oublié une nuance délicate. Et que s'est-il passé au final ? Je les ai installés sur PS7.1, et ça a fonctionné. Il y a même la première version sans bungee, utilisant uniquement Retirer l'objet En général, c'était leur bug.
Mais après avoir abusé de leur Mighty Shell, je suis allé sur Google pour comprendre pourquoi leur shell avait une syntaxe aussi stupéfiante. Mince, ils le présentent comme .NET pour la console, mais il n'y a même pas une trace de syntaxe C#. Au lieu de ça…
Bref, je suis tombé sur cet article : "" Comme le dit le proverbe : « Je ne pourrais pas être plus d’accord. »
Je soupçonne que l'équipe de Mighty Shell est composée de fans de Bash.
— Créons enfin une console Windows permettant d'écrire des scripts complexes. Notre commande est obsolète, à tel point que nous en avons déjà un peu honte.
— Allons-y ! Sur quoi allons-nous nous baser ? Nous avons déjà VBScript et JScript. Enfin, nous avons des langages pour .NET : C# et VB. Peut-être pourrions-nous le faire en C# ? Nous utiliserons C# comme langage de script pour notre console. De plus, nous souhaitons y intégrer des classes .NET.
— Non, mec, c'est quoi du C# ? Les vrais geeks utilisent bash ! Alors faisons bash pour Windows. Je me fiche que la syntaxe bash ait probablement été écrite par une bande de hipsters défoncés dans les années 1960. En général, plus c'est complexe, mieux c'est ! La clarté intuitive, c'est pour les faibles ! Lorsqu'on écrit un script dans notre langage, l'utilisateur est obligé de maudire tout et n'importe quoi et d'inventer quelques jurons. Seul un tel langage a le droit d'exister. Regardez les utilisateurs de Linux, ils vivent comme ça toute leur vie et en tirent un frisson indescriptible. Et en quoi sommes-nous pires ?
Seuls les utilisateurs enregistrés peuvent participer à l'enquête. s'il te plait.
Utilisez-vous PowerShell et en êtes-vous satisfait ?
30,3 %Je n'utilise pas 40
29,6 %Je l'ai essayé - je n'ai pas aimé39
23,5 %Je l'utilise et je suis content de tout31
12,9 %Je l'utilise, mais je ne suis pas content17
3,8 %Hourra ! Je peux enfin utiliser mon bash préféré sous Windows !5
132 utilisateurs ont voté. 26 utilisateurs se sont abstenus.
Source: habr.com
