Kauan sitten kirjoitin yksinkertaisen skriptin, joka poisti kaikki annetut alihakemistot tietyssä hakemistossa:
Remove-Item * -Force -Recurse -Include name1,name2,name3 -ErrorAction SilentlyContinue En ole käyttänyt sitä pitkään aikaan, mutta nyt tarvitsin sitä. Käynnistän sen - mitään ei poisteta.
"WTF?", luulen. Aloin kaivaa. Viuluin ja viuluin, kävin läpi kaiken, tein listan etukäteen ja vaihdoin nimiä - silti mitään ei poisteta. Lopuksi luin heidän asiakirjastaan: "Itse asiassa -Include on buginen, kun sitä käytetään yhdessä -Recursen kanssa, joten käytä kainalosauvarakennetta.":
Koska Remove-Item-kohdan Recurse-parametrilla on tunnettu ongelma, tämän esimerkin komento käyttää Get-ChildItem-komentoa haluttujen tiedostojen hankkimiseen ja siirtää ne sitten Remove-Item-tiedostoon liukuhihnaoperaattorilla.
No, okei, kirjoitin sen uudelleen tällä kainalosauvalla. Helvetin hyvä sopimus - se ei poista mitään. Lisäksi, Get-ChildItem с -Sisältää palauttaa tyhjyyden. Jälleen, riippumatta siitä, mitä tein, vaikka kuinka vääristin parametreja, se ei toiminut. Pääasia on kanssa - Sulje pois toimii, mutta kanssa -Sisältää ei onnistu. Vietin tähän koko päivän: ajattelin koko ajan, että jossain parametreissa, joita olin sotkenut, en ollut ottanut huomioon jotain hankalaa vivahdetta. Ja mitä lopulta tapahtui? Asensin ne PS7.1:lle ja se toimi. Se sisältää jopa ensimmäisen kainalosauvattoman vaihtoehdon vain Poista esine ansainnut. Yleensä se osoittautui heidän bugikseen.
Mutta kärsittyäni Mighty Shell -kuoren kanssa menin Googleen lukemaan, miksi heidän kuorella on niin järkyttävä syntaksi. Hitto, he asettavat sen .NETiksi konsolia varten, mutta he eivät edes haista C#-syntaksia. Hänen sijastaan…
Joka tapauksessa törmäsin tähän artikkeliin: "". Kuten he sanovat: "En voisi olla enempää samaa mieltä."
Epäilen, että Mighty Shell -tiimi on joukko Bash-faneja.
— Давайте, наконец, сделаем для Windows консоль, в которой можно будет писать сложные скрипты. А то наш cmd устарел, да так, что нам уже немножечко стыдно.
- Katsotaanpa! Mihin perustuen teemme? Meillä on jo VBScript, JScript. Lopuksi meillä on .NET-kieliä: C#, VB. Ehkä voimme tehdä sen C#:lla? Tarkoitan, käytämme konsolimme komentosarjakielenä C#:a. Lisäksi haluamme lisätä sinne .NET-luokkia.
— Нее, ну ты чё, чувак, какой C#? Настоящие гики юзают bash! Вот и мы давайте сделаем bash для Windows. Плевать, что синтакс для bash писала, видимо, толпа укуренных хипстеров в далеких 1960-х. В общем, чем сложнее, тем лучше! Интуитивная понятность — это для слабаков! Во время написания скрипта на нашем языке юзер в обязательном порядке должен проклясть все на свете и изобрести парочку новых ругательств. Только такой язык имеет право на жизнь. Вон, линуксоиды всю жизнь так живут и получают от этого всего неизъяснимый кайф. А мы чем хуже?
Vain rekisteröityneet käyttäjät voivat osallistua kyselyyn. , ole kiltti.
Käytätkö PowerShellia ja oletko tyytyväinen siihen?
30,3%En käytä 40
29,6%Kokeilin sitä enkä pitänyt siitä39
23,5%Käytän sitä ja olen tyytyväinen kaikkeen31
12,9%Käytän sitä, mutta en ole tyytyväinen17
3,8%Ура! Наконец-то я могу в Windows юзать любимый bash!5
132 käyttäjää äänesti. 26 käyttäjää pidättyi äänestämästä.
Lähde: will.com
