Puesto de odio por el Mighty Shell

Una vez escribí un script simple hace mucho tiempo que elimina todos los subdirectorios con los nombres de pila en el directorio especificado:



Remove-Item * -Force -Recurse -Include name1,name2,name3 -ErrorAction SilentlyContinue


No lo he usado durante mucho tiempo, pero aquí lo necesitaba. Lo ejecuté, no eliminé nada.



"¿WTF?", Creo. Empezó a cavar. Jugué y jugueteé, revisé todo, y ya había creado la lista y cambié los nombres; todavía no elimina nada. Al final, leí en su base: " En realidad, -Include tiene errores cuando se usa con -Recurse, así que usa una muleta ":

Debido a que el parámetro Recurse en Remove-Item tiene un problema conocido, el comando en este ejemplo usa Get-ChildItem para obtener los archivos deseados y luego usa el operador de canalización para pasarlos a Remove-Item.


Bueno, está bien, lo reescribí con esta muleta. Un infierno no quita nada. Por otra parte, Get-ChildItem con -Incluir los retornos de vacío. Una vez más, lo que simplemente no hice, como no pervertí con los parámetros, no funcionó. Lo principal es que funciona con -Excluir , pero nada con -Incluir . Lo maté todo el día: pensé que me había equivocado en algún lugar de los parámetros, que no había tenido en cuenta algún matiz astuto. ¿Y qué pasó al final? Los puse en PS7.1, funcionó. Incluso la primera versión sin tolva que usaba solo Remove-Item funcionó en ella. En general, resultó ser su error.



Pero después de haberme desgastado con su Mighty Shell, fui a Google para leer por qué su caparazón tiene una sintaxis tan furiosa. Mlyn, lo posicionan como .NET para la consola, pero ni siquiera huelen a sintaxis de C #. En cambio ...



En general, me encontré con este artículo: " Lo que odio de PowerShell ". Como dice el refrán: "No podría estar más de acuerdo".



Sospecho que el equipo de Mighty Shell es un grupo de amantes de Bash.



- Hagamos finalmente una consola de Windows en la que será posible escribir scripts complejos. Y luego nuestro cmd está desactualizado, tanto que ya estamos un poco avergonzados.

— ! ? VBScript, JScript. , .NET: C#, VB. , C# ? , C# . , .NET .

— , , , C#? bash! bash Windows. , bash , , 1960-. , , ! — ! . . , . ?



All Articles