Fyrir löngu síðan skrifaði ég einfalt handrit sem eyddi öllum undirmöppum með tilgreindum nöfnum í tilgreindri möppu:
Remove-Item * -Force -Recurse -Include name1,name2,name3 -ErrorAction SilentlyContinue
Ég hef ekki notað það í langan tíma, en núna þurfti ég á því að halda. Ég ræsi það - engu er eytt.
"WTF?", hugsa ég. Ég byrjaði að grafa. Ég fiktaði og fiktaði, fór í gegnum allt, bjó til lista fyrirfram og breytti nöfnunum - samt er engu eytt. Að lokum las ég í skjali þeirra: "Reyndar er -Include þrjótur þegar það er notað í tengslum við -Recurse, svo notaðu hækjubygginguna.":
Vegna þess að Recurse færibreytan í Remove-Item er með þekkt vandamál, notar skipunin í þessu dæmi Get-ChildItem til að fá þær skrár sem óskað er eftir og notar síðan leiðslustjórann til að senda þær til Remove-Item.
Jæja, allt í lagi, ég endurskrifaði það með því að nota þessa hækju. Einn helvítis samningur - það eyðir engu. Þar að auki, Get-ChildItem с -Taka með skilar tómleika. Aftur, sama hvað ég gerði, sama hvernig ég brenglaði breyturnar, það virkaði ekki. Aðalatriðið er með -Útloka virkar, en með -Taka með glætan. Ég eyddi heilum degi í þetta: Ég hélt áfram að einhvers staðar í færibreytunum hefði ég ruglað saman, að ég hefði ekki tekið tillit til einhverra erfiðra blæbrigða. Og hvað gerðist á endanum? Ég setti þá upp á PS7.1 og það virkaði. Það inniheldur meira að segja fyrsta hækjulausa valkostinn með því að nota aðeins Fjarlægja-hlutur unnið. Almennt séð reyndist þetta vera galla þeirra.
En eftir að hafa þjáðst af Mighty Shell þeirra, fór ég á Google til að lesa hvers vegna skelin þeirra er með svona heillandi setningafræði. Fjandinn, þeir staðsetja það sem .NET fyrir leikjatölvuna, en þeir finna ekki einu sinni lykt af C# setningafræði. Í staðinn fyrir hann…
Allavega rakst ég á þessa grein: "
Mig grunar að Mighty Shell liðið sé hópur af Bash aðdáendum.
- Við skulum loksins búa til leikjatölvu fyrir Windows þar sem þú getur skrifað flókin forskrift. Annars er cmdið okkar úrelt, svo mikið að við skammast okkar nú þegar.
- Við skulum! Miðað við hvað munum við gera? Við höfum nú þegar VBScript, JScript. Að lokum höfum við tungumál fyrir .NET: C#, VB. Kannski getum við gert það í C#? Ég meina, við munum nota C# sem forskriftarmál fyrir stjórnborðið okkar. Þar að auki viljum við bæta við .NET flokkum þar.
- Nei, hvað ertu að gera, náungi, hvaða C#? Alvöru nördar nota bash! Svo við skulum búa til bash fyrir Windows. Mér er alveg sama um að setningafræðin fyrir bash hafi greinilega verið skrifuð af hópi steindauðra hipstera á sjöunda áratugnum. Almennt séð, því flóknara því betra! Innsæi er fyrir veikburða! Þegar þú skrifar handrit á okkar tungumáli verður notandinn að bölva öllu í heiminum og finna upp nokkur ný bölvunarorð. Aðeins slíkt tungumál á rétt á lífi. Sko, Linux fólk lifir svona allt sitt líf og fær óútskýranlegan spennu af þessu öllu saman. Af hverju erum við eitthvað verri?
Aðeins skráðir notendur geta tekið þátt í könnuninni.
Notar þú PowerShell og ertu sátt við það?
-
30,3%Ég nota ekki 40
-
29,6%Ég prófaði það og líkaði það ekki39
-
23,5%Ég nota það og er ánægður með allt31
-
12,9%Ég nota það, en ég er ekki ánægður17
-
3,8%Húrra! Loksins get ég notað uppáhalds bashinn minn á Windows!5
132 notendur kusu. 26 notendur sátu hjá.
Heimild: www.habr.com