强大外壳的仇恨哨所

我很久以前曾经写过一个简单的脚本,该脚本删除指定目录中具有给定名称的所有子目录:



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


我已经很长时间没有使用它了,但是在这里是需要的。我运行它-我没有删除任何东西。



“ WTF?”我想。他开始挖掘。我摆弄了很多东西,经历了所有事情,并且列表是先前创建的,并且名称已更改-它仍然不会删除任何内容。最后,我在他们的船坞阅读:“其实,与-Recurse使用时,所以要使用拐杖-Include是马车。 ”:

由于Remove-Item中的Recurse参数存在一个已知问题,因此本示例中的命令使用Get-ChildItem获取所需的文件,然后使用管道运算符将它们传递给Remove-Item。


好吧,好吧,我用这个拐杖重写了它。一个地狱不会删除任何东西。此外,带有-Include的Get-ChildItem返回空。再说一次,我没有做的,因为我没有弄乱参数,所以不起作用。最主要是,它可以-Exclude一起使用,但不能-Include一起使用。我整天杀了它:我以为我搞砸了参数中的某个地方,没有考虑到一些狡猾的细微差别。到底发生了什么?我将它们放在PS7.1上-确实有效。即使是仅使用Remove-Item的第一个无伞版本也可以使用。总的来说,这是他们的错误。



但是我已经厌倦了他们的Mighty Shell,然后去Google看看为什么他们的Shell具有如此狂暴的语法。 Mlyn,他们将其定位为控制台的.NET,但它们甚至都没有C#语法的味道。相反,



总的来说,我遇到了这篇文章:“我对PowerShell的讨厌”。俗话说:“我完全同意。”



我怀疑Mighty Shell的团队是一群Bash爱好者。



-最后,让我们制作一个Windows控制台,您可以在其中编写复杂的脚本。然后我们的cmd已经过时了,以至于我们已经有些as愧了。

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

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



All Articles