Ka një herë shkruajta një skript të thjeshtë, që fshin në një direktor të caktuar të gjitha nën-direktoritë me emrat e dhënë:
Remove-Item * -Force -Recurse -Include name1,name2,name3 -ErrorAction SilentlyContinue Nuk e kam përdorur prej kohësh, por tani më duhej. E nisa - nuk fshiu asgjë.
«ĂfarĂ« po ndodh?», mendoj. Fillova tĂ« kĂ«rkoj. U pĂ«rlesha, shikoja, krijova njĂ« listĂ« paraprake, ndryshova emrat - prapĂ« asgjĂ«. NĂ« fund, lexova nĂ« dokumentacionin e tyre: "NĂ« fakt, -Include ka probleme kur pĂ«rdoret me -Recurse, prandaj pĂ«rdorni njĂ« konstruksion tĂ« ndihmĂ«s.":
Për shkak se parametrat Recurse në Remove-Item kanë një problem të njohur, komandën në këtë shembull e përdor Get-ChildItem për të marrë skedaret e dëshiruara, dhe pastaj përdor operatorin e pipeline për t'i kaluar ato në Remove-Item.
Mirë, e ribëra duke e përdorur këtë truk. Prapë - asgjë nuk fshihet. Më shumë se kaq, Get-ChildItem me -Include kthen boshllëk. Prapë, çfarë nuk bëra, si nuk njëndryshova parametrat - nuk funksionon. Më e rëndësishmja, me -Exclude punon, ndryshe nga -Include asnjëherë. Kalova një ditë të tërë mbi këtë: mendoja se ndoshta kisha bërë ndonjë gabim në parameter, se kisha anashkaluar ndonjë nuancë të hollë. Dhe çfarë doli në fund? E instalova PS7.1 - aty funksionoi. Aty madje versioni i parë pa ndihmën që përdora vetëm Remove-Item ka funksionuar. Pra, doli të ishte një defekt i tyre.
Por pasi u mundova me Shell-in e tyre të Fuqishëm, fillova të kërkoj në Google përse sintaksa e tyre është kaq e ndërlikuar. Pohoj, ata e pozicionojnë atë si .NET për konsola, por sintaksa e C# nuk ka asnjë shenjë. Në vend të saj...
Përsëri, hasra një artikull të tillë: "". Siç thotë shprehja: «Nuk mund të jem më i dakord.»
Dyshoj se ekipi i Shell-it të Fuqishëm është një grup adhuruesish të Bash-it.
â Le tĂ« krijojmĂ« nĂ« fund njĂ« konsol pĂ«r Windows ku tĂ« mund tĂ« shkruajmĂ« skripta tĂ« sofistikuara. Se cmd ynĂ« ka mbetur prapa, aq sa na vjen pak turp.
â Le t'i bĂ«jmĂ«! ĂfarĂ« do tĂ« pĂ«rdorim? Ne tashmĂ« kemi VBScript, JScript. NĂ« fund, kemi gjuhĂ«t pĂ«r .NET: C#, VB. A nuk mund ta bĂ«jmĂ« nĂ« C#? Do tĂ« thotĂ«, do ta pĂ«rdorim C# si gjuhĂ« skriptimi pĂ«r konsolĂ«n tonĂ«. Sidomos, ne duam tĂ« sjellim klasat .NET.
â Jo, mos me thuaj, çfarĂ« C#? Gikat e vĂ«rtetĂ« pĂ«rdorin bash! Prandaj le tĂ« bĂ«jmĂ« bash pĂ«r Windows. Nuk ka rĂ«ndĂ«si se sintaksa pĂ«r bash-in Ă«shtĂ« shkruar, duket, nga njĂ« turmĂ« pasionantĂ«sh nĂ« vitet 1960. NĂ« pĂ«rgjithĂ«si, sa mĂ« e komplikuar, aq mĂ« mirĂ«! Qartëësia intuitiviteti - Ă«shtĂ« pĂ«r tĂ« dobĂ«tit! GjatĂ« shkruajtjes sĂ« skriptit nĂ« gjuhĂ«n tonĂ«, pĂ«rdoruesi duhet patjetĂ«r tĂ« mallkojĂ« gjithçka dhe tĂ« shpikĂ« disa tĂ« reja fjalĂ« ofendimi. VetĂ«m njĂ« gjuhĂ« e tillĂ« ka tĂ« drejtĂ« tĂ« jetojĂ«. Po, linuksoidĂ«t gjithmonĂ« jetojnĂ« kĂ«shtu dhe gĂ«zojnĂ« nga kjo pĂ«rvojĂ« tĂ« papĂ«rshkruar. ĂfarĂ« i bĂ«n ata mĂ« tĂ« mirĂ« se ne?
Vetëm përdoruesit e regjistruar mund të marrin pjesë në anketë. , ju lutemi.
A e përdorni PowerShell dhe a jeni të kënaqur?
30,3%Nuk e përdor
29,6%Kam provuar - nuk më pëlqeu
23,5%E përdor dhe jam i kënaqur
12,9%E përdor, por nuk jam i kënaqur
3,8%Hurrah! Në fund mund ta përdor bash-in tim të preferuar në Windows!
132 përdorues kanë votuar. 26 përdorues abstenuan.
Burimi: habr.com
