Kuidas PowerShelli abil kaustu või faile kustutada

18. august 2021 10262 Vaated Kuidas PowerShelli abil kaustu või faile kustutada

Kas soovite PowerShelliga faile ja kaustu kustutada, kuid ei tea, kuidas? See artikkel annab teile üksikasjaliku juhendi selle kohta, kuidas kasutada PowerShelli kausta, faili või kõigi määratud teel olevate kaustade ja failide kustutamiseks.





See ajaveebi postitus õpetab teile erinevaid viise, kuidas PowerShelli abil kaustu ja faile kustutada. Kui see kõlab huvitavalt, jätkake lugemist!



Juhendis selgitatakse 2 võimalust, kuidas kasutada PowerShelli kaustade ja failide kustutamiseks. Seejärel saate teises jaotises teada, kuidas parandada PowerShelliga failide ja kaustade kustutamisega seotud levinud vigu.

Lõpuks sisaldab juhend rohkem kui 20 näidet.



Sirvi postituste teemasid



2 võimalust kausta või faili kustutamiseks PowerShelli abil

PowerShell pakub üksuste kustutamiseks kahte võimalust. Kausta või faili saate kustutada PowerShelli kustutamismeetodiga.

Teiseks saate PowerShellis üksuste kustutamiseks kasutada käsku Eemalda üksus. Selle jaotise kahes järgmises alajaotuses saate teada, kuidas neid meetodeid kasutada.



1. meetod: kasutage Powershelli Kustuta() Kausta või faili kustutamise meetod

Selleks, et PowerShell saaks kausta kustutada, on teil vaja käsku Get-ChidItem. Get-ChildItem Cmdlet tagastab üksused ja alamüksused määratud asukohas.



Kõigi teel olevate failide ja kaustade loetlemiseks E: teatab , käivitage allolev käsk:

|_+_|

Siin on tulemus PowerShellis…

Kuidas kasutada Powershelli kustutamist ()

Sellel käsul on kutsutud meetod Kustuta . Saate kasutada Kustuta Kaustade ja failide kustutamise meetod.

Ülaltoodud käsus saadaolevate meetodite nägemiseks sisestage käsk käsku Get-Member cmdlet.

|_+_|

Käsk tagastas kahte tüüpi atribuudid. üks , System.IO.DirectoryInfo (vt esimest pilti allpool). kaks , System.IO.FileInfo . Esimene on seotud tee kaustadega, teine ​​​​aga failidega.

Vaadake neid kahte pilti tähelepanelikult. Pange tähele, et igal neist on oma meetod Kustuta . Saate kasutada Kustuta PowerShelli meetod kausta või faili kustutamiseks.

Järgmises alapeatükis näitan, kuidas kasutada Kustuta meetod.

Kuidas kasutada Kustuta () Powershelli meetod kausta või faili kustutamiseks

Süntaks Kustuta Meetod on:

|_+_|

Objekt on Get-ChidItem cmdleti tagastatud faili üksikasjade kaust. Lisaks Kustuta on meetod, millele järgneb tavaliselt operaator ().

Ülaltoodud süntaksikäsu mõistmise hõlbustamiseks on siin algne käsk Get-ChildItem:

|_+_|

ja tulemus…

Kuidas kasutada Powershelli kustutamist ()

Selle põhjal, mida olen seni selgitanud, võite teoreetiliselt kasutada PowerShelli kustutamismeetodit kausta, mida nimetatakse aruanneteks, kustutamiseks, käivitades alloleva käsu:

|_+_|

Viimane käsk tagastab aga veateate Kataloog ei ole tühi.

Selle probleemi lahendamiseks vajan käsku, mis tagastab kõik tee failid ja kaustad ning alamkaustad. Seejärel pean tulemuse juhtima aForEachi tsüklisse.

Siin on muudetud käsk:

|_+_|

Siin on käsk PowerShellis. Kõik failid on määratud teelt kustutatud.

Viimane käsk kustutab failid määratud kaustas ja selle alamkaustades. Kuid see ei kustuta kaustu.

Kaustade kustutamiseks käivitage allolev käsk:

|_+_|

Et seda kinnitada E: teatab on nüüd tühi, käivitan käsu Get-ChildItem uuesti.

|_+_|

See ei tagasta midagi!

Enne järgmise jaotise juurde liikumist lubage mul selgitada, kuidas see käsk kustutas kõik failid ja alamkaustad.

|_+_|

Get-ChildItemil on kaks parameetrit Kaasa ja Kordus . Käskluses kasutasin -Kaasake *.* käskida PowerShellil kaasata tulemusesse kõik failid.

Kordus , teisest küljest käsib Get-ChildItem tagastada kõik kaustad ja alamkaustad.

Käsu teises osas ühendasin Get-ChildItem lausega ForEach . ForEach läbib kõik Get-ChildItemi tagastatud objektid ja kasutab Kustuta Nende kustutamise meetod.

Nagu ma seda jaotist tutvustades juba mainisin, on PowerShellil cmdlet nimega Eemalda-üksus konkreetselt. Saate seda PowerShelli käsku kasutada ka kausta või faili kustutamiseks.

Järgmine jaotis käsitleb selle kasutamist Eemalda-üksus . Minu kogemuse järgi kasutades Eemalda-üksus on parem kui kasutamine Kustuta() meetod.

2. meetod: kasutage Powershelli Eemalda-üksus Cmdlet kausta või faili kustutamiseks

Faili või kausta kustutamiseks rakendusega Eemalda-üksus peate ikkagi kasutama PowerShelli käsku Get-ChildItem. Seejärel sisestage tulemus Eemalda-üksus .

Sa võid joosta Eemalda-üksus ilma Get-ChildItem . Kuid minu kogemuse põhjal on enamikul juhtudel kõige parem üksuse loetelu koostamine Get-ChildItem . Seejärel suunake väljund punktile Eemalda-üksus .

Selle jaotise esimeses näites tahan kasutada PowerShelli kausta nimega ITGServer2 kustutamiseks. Vaadake allolevat ekraanipilti.

2. meetod: kasutage kausta või faili kustutamiseks käsku Powershell Remove-Item Cmdlet

Siin on PowerShelli käsk, mis kustutab kausta ...

|_+_|

Pärast ülaltoodud käsu käivitamist on kaust kadunud!

2. meetod: kasutage kausta või faili kustutamiseks käsku Powershell Remove-Item Cmdlet

Teises näites tahan kustutada kaustad ja alamkaustad kaustas E: eports. Allolev käsk teeb selle töö…

|_+_|

Pärast viimase käsu käivitamist on kõik määratud kaustas olevad kaustad kadunud!

2. meetod: kasutage kausta või faili kustutamiseks käsku Powershell Remove-Item Cmdlet

Kuidas parandada Powershelli kausta või faili kustutamise levinumaid vigu

Kuidas parandada Powershelli kausta või faili kustutamise levinumaid vigu

Kui käivitate kausta või faili kustutamiseks käsu Remove-Item PowerShell, võib see tagastada mõned vead. See jaotis hõlmab mõnda neist vigadest ja nende parandamist.

Arvan, et parem on arutada nende levinud vigade lahendusi enne, kui sukeldume mõnesse reaalses elus olevatesse süsteemiadministraatori näidetesse, kuidas PowerShelli kasutada kaustade või failide kustutamiseks.

Kuidas parandada Powershelli kustutamise kausta või failile juurdepääsu keelamise viga

Kui käivitate faili või kausta kustutamiseks käsu Eemalda üksus ja kuvatakse tõrketeade Access Denied, proovige järgmist.

  1. Muutke faili või kausta omanikku – kasutage allolevaid koode, et muuta faili või kausta omanik kohalikuks administraatoriks

Selle käsu käivitamiseks avage administraatorina PowerShell, vastasel juhul viimane käsk nurjub.

|_+_| Muutke kausta tee F:ITGFilesTextfiles oma faili või kausta täielikuks teeks

Kui olete muutnud omaniku kohalikuks administraatoriks, proovige faili või kausta uuesti PowerShelliga kustutada. Kui see ei tööta, proovige neid parandusi.

  1. Lisage Jõud parameetrile Remove-Item
  2. Proovige selle asemel meetodit Kustuta(). Kui te ei tea, kuidas PowerShelli kustutamismeetodit kasutada, vaadake selle juhendi jaotist Kuidas kasutada meetodit Delete () Powershellis kausta või faili kustutamiseks (link avaneb teisel brauseri vahekaardil).

Kuidas parandada Powershelli kustutamise kausta, ei saa eemaldada, kuna see pole tühi

Kui saadetist ei saa eemaldada, kuna see pole tühi, tõrge käsu käivitamisel:

|_+_|

Proovige kasutada Get-ChildItem parameetriga Recurse. Seejärel suunake see nupuga Eemalda-üksusse Jõud ja Kordus parameetrid.

Siin on näidiskäsk:

|_+_|

Teise võimalusena võite käivitada käsu Get-ChildItem ja määrata tee viimase kaldkriipsu taha tärnid. See kustutab kogu kausta sisu.

Näiteks kui ma käivitan käsu…

|_+_|

…ja vastuvõttu ei saa eemaldada, kuna see pole tühi, käivitan probleemi lahendamiseks esmalt alloleva käsu:

|_+_|

Viimane käsk kustutab ainult E: eports üksused. Lõpuks käivitan kausta (mis on nüüd tühi) kustutamiseks alloleva käsu ...

|_+_|

Kuidas parandada Powershelli kustutamise kausta, mida kasutab muu protsessi viga

Kuidas parandada Powershelli kustutamise kausta

Kui kuvatakse Eemalda-üksus tagastab veateate, kuna seda kasutab mõni muu protsess, peate lisama parameetri Force.

Siin on originaal, mis tagastas veateate ...

|_+_|

Selle probleemi lahendamiseks käivitage faili jaoks allolev käsk:

|_+_|

Viimane käsk kustutas faili edukalt ...

Kuidas parandada Powershelli kustutamise kausta või failikausta või failinime liiga pikka viga

See näib olevat PowerShelli teadaolev piirang.

Selle probleemi lahendamiseks võite siiski kasutada sulle cmd käsk. Seejärel sisestage tulemus käsule Remove-Item.

Siin on näide…

|_+_| Käsk dir on PowerShelli käsu Get-ChildItem cmd vaste.

Kuidas parandada Powershelli kustutamise kausta juurdepääsu teele on keelatud viga

PowerShelli Remove-Item käsk annab tõrketeate Juurdepääs teele on keelatud, kui proovite kustutada kausta, mille kustutamiseks teil pole luba.

Selle tõrketeate kuvamise põhjus on see, et teil pole kaustale juurdepääsu. Enne käsu Remove-Item käivitamist käivitage järgmised käsud, et anda kohalikele administraatoritele juurdepääs kaustale.

See parandus eeldab, et sisselogimiseks kasutatud konto on kohaliku administraatorite rühma liige. Enne alloleva käsu käivitamist PowerShelli ISE-s muutke tee F:ITGFilesTextfiles kausta teeks, mida proovite kustutada. |_+_|

Kui olete ülaltoodud skripti käitamise lõpetanud, käivitage käsk Remove-Item uuesti.

Rohkem Powershelli kaustade või failide kustutamise näiteid

Rohkem Powershelli kaustade või failide kustutamise näiteid

See juhendi viimane jaotis hõlmab mitmeid näiteid selle kohta, kuidas PowerShelli kasutada failide või kaustade kustutamiseks.

Kuidas kustutada kaust või fail PowerShelliga, kui see on olemas

Kuna sellel näitel on tingimus – kui kaust või fail on olemas – kontrollib käsu esimene tee, kas üksus on olemas.

Saate kasutada Testi tee kausta või faili olemasolu kontrollimiseks. Seejärel kasutage tingimuslauset IF, et eemaldada kaust või fail, kui see on olemas.

Mõlemad käsud saame kombineerida IF-lause plokis ...

Selles näites tahan kustutada kausta nimega ITGServer teel F:ITGFilesTextfiles – kui kaust on olemas.

Siin on käsk…

|_+_|

Selles näites on see kaust olemas, nii et see kustutati. Kui aga proovime käsku failiga, mida pole olemas, saame teate failis Muidu IF-lause plokk.

Kausta ja selle alamkaustade kustutamine PowerShelli abil

Kausta ja kõigi alamkaustade kustutamiseks käivitage Eemalda-üksus käsuga Kordus ja Jõud parameetrid.

Siin on näide…

|_+_|

Kuidas kustutada PowerShelli abil kausta või faili, mis on vanem kui x päeva (või kuupäeva alusel)

Selles näites, kuna tahame kustutada failid või kaustad, mis on vanemad kui x päeva, on esimene samm päevade viite hankimine. Seda tehakse käsuga Get-Date.

Kuna aga tahame kustutada üksused, mis on vanemad kui x päeva, peame negatiivse väärtusena määrama x päeva. Näiteks kõigi üle 7 päeva vanemate failide või kaustade kustutamiseks hankige päevade viide järgmise käsuga:

|_+_|

Seejärel kasutage Get-ChildItem käsk hankida LastWriteTime eseme omadus. The LastWriteTime atribuut salvestab kausta või faili viimase muutmise kuupäeva.

Lisaks LastWriteTime atribuut, tagastab käsk Get-ChildItem teise nimega atribuudi PSIsContainer . Atribuut PSIsContainer eristab faili kaustast.

Kui PSIsContainer on tõsi, see tähendab, et üksus on kaust. Teisest küljest, kui PSIsContainer on vale, tähendab see, et üksus on fail.

Enne atribuudi LastWriteTime tutvustamist lubage mul esmalt käivitada käsk Get-ChildItem ja filtreerida atribuudi PSIsContainer järgi:

|_+_|

See käsk tagastas ühe objekti nimega ITG sest see on tee F:ITGFilesTextfiles ainus kaust.

Teise võimalusena ainult tee failide loetlemiseks käivitage allolev käsk:

|_+_|

Seekord, sest täpsustasin poolt $ _. PSIsConta laskub -eq $ FALSE , PowerShell tagastab kõik mittekaustad.

Nüüd, kui saate aru, kuidas kaustas kaustu või faile loetleda, tutvustame atribuuti LastWriteTime. Nagu ma varem mainisin, salvestatakse atribuudis LastWriteTime üksuse viimane muutmise kuupäev ja kellaaeg.

Need käsud hõlmavad atribuuti LastWriteTime:

|_+_|

Esimene käsk tagastab kõik kaustad, mida viimati muudeti enne muutujasse $DaysRef salvestatud päevaviidet. Selles näites on päeva viide 7 päeva.

Vastupidi, teine ​​käsk tagastab kõik viimase x päeva jooksul muudetud failid – kus x päeva on selles näites 7.

Selle näite teine ​​ja viimane etapp, mis kasutab PowerShelli x päeva vanemate failide kaustade kustutamiseks, on käsu Kus-Object suunamine käsule Remove-Item.

Allolev skript lõpetab failide ja kaustade kustutamise ...

|_+_| Kui ükski fail või kaust ei vasta LastWriteTime kriteeriumidele, siis ühtki ei kustutata.

Kuidas kasutada PowerShelli ainult kausta sisu kustutamiseks

Selles näites kustutan kausta F:ITGFileskausta sisu, kuid mitte kausta ennast.

juurgalaktika s8 snapdragon oreo

Kui soovite kustutada ainult kausta sisu, kuid säilitada kausta, käivitage käsk Remove-Item, nagu on näidatud allolevas näites:

|_+_|

Trikk on lisada tärn pärast viimast kaldkriipsu kaustatee lõppu.

The Kordus parameeter kustutab kõik määratud teel olevad kaustad ja alamkaustad. Selles näites F:ITGFileskaust*

Kuidas kasutada PowerShelli kausta ja sisu kustutamiseks ilma kinnituse või viipata

Nipp kausta ja sisu kustutamiseks ilma teilt kinnitust küsimata on lisada Jõud ja Kinnitage:$false parameetrid Eemalda-üksus käsk.

Kui käivitan alloleva käsu lisamata Kinnitage:$false parameetriga kinnitan, et tahan kausta ja kogu selle sisu kustutada.

|_+_|

Kui ma aga ei soovi seda kinnitusviipa saada, lisan parameetri Confirm:$false.

|_+_|

Käsk peaks töötama ilma toimingu kinnitust küsimata. Samuti pange tähele, et parameeter, mis peatab kinnitusviipa, on Kinnitage:$false .

Kui viimane käsk küsib endiselt kinnitust, käivitage esmalt Get-ChildItem käsk. Seejärel suunake väljund käsule Remove-Item, nagu allpool näidatud:

|_+_|

Kahjuks viimane käsk ei kustuta ülemkausta kausta. Ülemkausta ja kogu selle sisu kustutamiseks lisage käsule Get-ChildItem parameeter -filter, nagu on näidatud selles käsus:

|_+_|

Kuidas kasutada PowerShelli kausta või faili prügikasti kustutamiseks

Kui kustutate kausta või faili käsuga Remove-Item, kustutatakse see jäädavalt. Teisisõnu, kausta ei teisaldata prügikasti.

Kahjuks pole kausta või faili prügikasti kustutamiseks PowerShelli käsku. Üritasin selle ülesande jaoks kohandatud funktsiooni luua. Siiski leidsin olemasoleva funktsiooni, mille on loonud a stackoverflow.com kaastööline.

Selle meie lugejatele kättesaadavaks tegemiseks laadisin funktsiooni koopia üles S Zone'i. Funktsiooni allalaadimiseks ja kasutamiseks järgige alltoodud samme.

  1. Funktsiooni allalaadimiseks klõpsake nuppu Laadi alla Remove-ItemToRecycleBin.zip
  2. Seejärel pakkige allalaaditud ZIP-fail lahti. Faili lahti pakkimisel loob see kausta nimega Remove-ItemToRecycleBin.
  3. Lõpuks kopeerige kaust oma Windows 10 PowerShelli profiili mooduli kausta. Kaust asub alloleval teel
|_+_| on teie Windows 10 profiilinimi. See asub tavaliselt kaustas C:Users. Kui see pole aga draivis C, vaadake draivi D või E.

Kui olete mooduli kausta oma mooduli kausta kopeerinud, saate seda kasutada nagu mis tahes muud PowerShelli käsku. Selle toimimise illustreerimiseks kustutan E: eports prügikasti.

Enne käsu käivitamist on siin ekraanipilt minu tühjast prügikastist.

Kuidas kasutada PowerShelli kausta või faili prügikasti kustutamiseks

Nüüd, et kasutada PowerShelli kausta kustutamiseks, E: teatab prügikasti, käivitan alloleva käsu:

|_+_|

Pärast ülaltoodud käsu käivitamist teisaldatakse aruannete kaust prügikasti. Vaadake allolevat ekraanipilti…

Kuidas kasutada PowerShelli kausta või faili kustutamiseks ja teiste kaustade või failide välistamiseks

Käsul Eemalda-üksus on Välistada parameeter. Seda parameetrit kasutatakse kausta või faili välistamiseks, mida te ei soovi kustutada.

Siin on näide. Soovin kustutada kõik tee kaustad F:ITGFilesTextfiles5. Kuid ma ei taha kausta3 kustutada.

Kuidas kasutada PowerShelli kausta või faili kustutamiseks ja teiste kaustade või failide välistamiseks

Nagu ülaltoodud ekraanipildilt näete, on kaustas nii kaustu kui ka faile.

Ainult kaustade kustutamiseks pean kõigepealt kasutama käsku Get-ChildItem, et loetleda kõik teel olevad üksused. Seejärel suunake väljund atribuudile Kus-objekt ja filtreerige atribuudi PSIsContainer järgi.

|_+_|

Pärast viimase käsu käivitamist kustutatakse kõik kaustad, kuid mitte kaust3. Samuti märkate, et F:ITGFilesTextfiles5 faile ei kustutatud.

Ainult kaustade kustutamise põhjus on see, et Kus-Objekt blokki, filtreerisin {$_.PSIsContainer -eq $TRUE} järgi. Atribuut PSIsContainer määrab, et objekt on kaust.

Edasi liikudes on eemaldamisüksusel ka parameeter nimega Kaasa. See parameeter teostab välistamisparameetrile vastupidise toimingu.

Võin saavutada sama tulemuse kui viimane käsk, asendades käsu Välista käsuga Kaasa. Kuid erinevalt eelmisest käsust panen nüüd nimekirja kaustad, mida tahan kustutada.

Siin on näidiskäsk, mis kustutab kaustast F:ITGFilesTextfiles5 ainult kausta1.

|_+_|

Pärast eelmise käsu käivitamist märkate, et kustutati ainult kaust1.

Kui soovite kaustade asemel faile kustutada, muutke $_.PSIsContainer -eq $TRUE väärtuseks $_.PSIsContainer -eq $FALSE

Kuidas kasutada PowerShelli kausta kustutamiseks, isegi kui see pole tühi

Kui soovite PowerShelliga kausta kustutada (isegi kui kaust pole tühi), lisage Jõud ja Kordus parameetrid. Siin on näide.

|_+_|

Kuidas kasutada PowerShelli tühjade kaustade kustutamiseks, mis on vanemad kui X päeva

Järgige allolevaid samme, et kasutada PowerShelli tühjade kaustade kustutamiseks, mis on vanemad kui x päeva…

Selles näites tahan kustutada oma Windows 10 profiilist C:UsersVictorA kaustad, mis on vanemad kui 90 päeva.

  1. Kasutage funktsiooni Get-ChildItems, et loetleda ainult määratud teel olevad kaustad:
|_+_|

Käsk loetleb kõik määratud tee kaustad. Kui mäletate, kasutasime selle juhendi eelmistes käskudes kaustade tagastamiseks Kus-Objekt järgi filtreerida PSIsContainer vara. Siiski otsustan saavutada sama tulemuse, kasutades Kataloog parameeter Get-ChildItem .

  1. Seejärel sisestage käsu Get-ChildItem tulemus käsku Kus-Object. Lisage käsus Where-Object filter, mis tagastab ainult tühjad kaustad. Siin on käsk…
|_+_|
  1. Nüüd peame lisama tee, mis tagastab eelmise loendi kaustad, mis on vanemad kui 90 päeva. See hõlmab kahte käsku.

Esimeses käsus kasutan ajaperioodi kuupäeva määramiseks Get-Date'i. Näites 90 päeva tagasi. Selle hõlbustamiseks salvestan tulemuse muutujasse nimega $DaysRef.

|_+_|

Seejärel lisan teise käsu viimase käsu jaotisesse Kus-Object veel ühe filtri.

|_+_|

Siin on viimase käsu tulemus…

tipu legendide ühendus serveriga aegus
Kuidas kasutada PowerShelli tühjade kaustade kustutamiseks, mis on vanemad kui X päeva

Nagu näete, tagastatakse viimase käsuga nüüd ainult kaks tühja kausta. Käivitasin seda käsku 4. augustil 2021. Nagu näete, LastWriteTime kahest kaustast on 16/06/2021 16:29.

USA lugejate jaoks on see kuupäev 16. august 2021 (16.06.2021)

See tähendab, et viimati muudeti kahte kausta viimati rohkem kui 90 päeva pärast käsu käivitamist.

  1. Lõpuks, kui soovite kustutada need tühjad kaustad, mis on vanemad kui 90 päeva, sisestage viimane käsk käsule Remove-Item PowerShell.
|_+_|

Kuidas kasutada PowerShelli kasutajaprofiili kausta kustutamiseks

Kasutajaprofiili kausta kustutamiseks selles jaotises olevate käskudega PEAB avage PowerShell administraatorina . Vastasel juhul võite saada tõrketeate juurdepääs keelatud

Esimene samm PowerShelli kasutamiseks kasutaja profiilikausta kustutamiseks on kasutaja kausta tee määramine. PowerShellil on keskkonnamuutuja, mis tagastab tee Windowsi installikataloogi.

Muutuja on…

|_+_|

See käsk tagastab tee nagu C:WINDOWS. Samal ajal asub kaust Kasutajad (mis sisaldab kõiki kasutajaprofiilide kaustu) selle draivi juurtes, kuhu Windows on installitud.

Minu näites asub kaust Kasutajad draivis C:WINDOWS.

Kuid C: tagastamiseks failist C:WINDOWS kasutage poolitusmeetodit, nagu on näidatud allolevas käsus.

|_+_|

Käsk tagastab C: ja WINDOWS. Järgmine samm on tagastada C: – see on massiivi esimene üksus.

Kuidas kasutada PowerShelli kasutajaprofiili kausta kustutamiseks

Sellele üksusele juurdepääsuks lisage see [0] viimase käsu juurde, nagu allpool näidatud.

|_+_|

Nüüd on meil C:

Kuidas kasutada PowerShelli kasutajaprofiili kausta kustutamiseks

Mainisin varem, et kõik kasutajaprofiilid asuvad kaustas Kasutajad. Viimasest käsust lisan Users tagastusse C:Users

|_+_|

Nüüd on meil kasutajate kausta täielik tee.

Järgmises käsus kasutan Get-ChildItemi, et loetleda kõik kasutajaprofiilide kaustad kaustas Users. Vigade vältimiseks salvestan kõigepealt muutuja viimase käsu.

|_+_|

Nüüd saan kasutada Get-ChildItemi, et tagastada kõik kasutajaprofiilide kaustad kaustas Users. Siin on käsk:

|_+_|

Ja tulemus PowerShellis…

Kuidas kasutada PowerShelli kasutajaprofiili kausta kustutamiseks

Viimane bitt on viimase käsu juhtimine käsule Remove-Item. Siiski peate kasutama parameetrit Filter, et kustutada ainult kasutajaprofiili kaust, millest soovite vabaneda.

Selles näites tahan kustutada kasutajaprofiili kausta nimega victo ja kõik selle alamkaustad

Siin on viimane käsk, mis kasutab PowerShelli kasutajaprofiili kausta kustutamiseks:

|_+_|

Pärast selle käsu käivitamist ei kuvata kustutatud profiili enam loendis, kui käivitate alloleva käsu.

|_+_|

Kuidas kasutada PowerShelli rakenduste andmetest kausta kustutamiseks

PowerShellil on sisselogitud kasutaja AppData kausta jaoks kaks keskkonnamuutujat.

|_+_|

Keskkonnamuutuja, mida otsustate kasutada, sõltub kustutatava kausta asukohast. Kui te pole aga kindel kustutatava kausta asukohas, saate otsida mõlemast asukohast.

Selle saavutamiseks salvestan mõlemad keskkonnamuutujad muutujasse nimega $appdatafolders…

|_+_|

Seejärel kasutan mõlema asukoha kontrollimiseks tsüklit ForEach. Siin on kood, mis seda tööd teeb…

|_+_| Lisasin parameetri WhatIf, et PowerShell kausta ei kustutaks. Selle asemel kuvab PowerShell toimingu, mida ta pidi tegema, kui parameetrit WhatIf ei lisatud.

Siin on PowerShelli käsu tulemus. Ekraanipildist paremal olev pilt on minu AppData kaustas olev kaust.

Kuidas kasutada PowerShelli rakenduste andmetest kausta kustutamiseks

Kuidas kasutada PowerShelli peidetud kausta kustutamiseks

Käsklusel Get-ChildItem on parameeter nimega Hidden. Kui soovite loetleda peidetud kaustu määratud kaustas, lisage parameeter Peidetud.

Minu alloleval ekraanipildil on mul 3 kausta (mitte või need on peidetud).

Et näidata, kuidas PowerShelli kasutada peidetud kaustade kustutamiseks, peidan Textfiles3. Nüüd on kaust peidetud.

Kuidas kasutada PowerShelli peidetud kausta kustutamiseks

Peidetud kausta loetlemiseks käivitan alloleva käsu ...

|_+_|

Nagu oodatud, loetleb käsk ainult peidetud kausta.

Peidetud kausta kustutamiseks PowerShelliga suunan nüüd viimase käsu käsule Remove-Item.

|_+_|

Kausta kustutamise kinnitamiseks lubasin File Exploreris peidetud üksuste atribuudi.

Kuidas kasutada PowerShelli peidetud kausta kustutamiseks

Kuidas kasutada PowerShelli failide kustutamiseks, kuid kausta struktuuri säilitamiseks

Võib juhtuda, et soovite kustutada kõik kaustas olevad failid, sealhulgas selle alamkaustad, kuid säilitada kausta struktuur.

Selle saavutamiseks peate käivitama käsu Get-ChildItem ja määrama parameetri File. Kui kasutate parameetrit Fail, loetleb Get-ChildItem ainult määratud kaustas olevad failid.

Selle toimimise demonstreerimiseks olen loonud kaustastruktuuri, mis on näidatud alloleval ekraanipildil:

Kuidas kasutada PowerShelli failide kustutamiseks, kuid kausta struktuuri säilitamiseks

Nagu ekraanipildil näha, on kaustal1 kaks alamkausta, kaust2 ja kaust3. Lisaks on kaustas 2 ja kaustas 3 mõned failid.

Et kasutada Get-ChildItemi ainult tee F:ITGFileskaust1 failide kuvamiseks, käivitan alloleva käsu:

|_+_|

Käsk kuvab ainult failid kahel teel: F:ITGFileskaust1kaust2 ja kataloog: F:ITGFileskaust1kaust3

Lõpuks, failide kustutamiseks, kuid kaustastruktuuri säilitamiseks sisestage viimane käsk käsk Remove-Item…

|_+_|

Käsk kustutab kõik failid, kuid jätab kaustastruktuuri puutumata!

Kuidas kasutada PowerShelli registrivõtme kausta kustutamiseks

Käsk registrivõtme kausta loetlemiseks ja kustutamiseks on sama käsk, mida kasutatakse tavaliste kaustade kustutamiseks.

Kui olete seda juhendit algusest peale lugenud, oleme seni kasutanud kahte käsku:

Get-ChildItem : kasutatakse üksuste loetlemiseks määratud teel
Eemalda-üksus : kasutatakse Get-ChildItem loetletud failide/kaustade kustutamiseks

Ainus erinevus seisneb aga selles, kuidas pääsete juurde registrivõtmete kaustadele.

Käskude Get-ChildItem ja Remove-Item jaoks kasutamiseks mõeldud registrivõtme vormindamiseks on mitu võimalust. Selle näite puhul kasutan aga allolevat meetodit.

|_+_|

Selles näites soovin pääseda juurde registrivõtme kaustale HKEY_CURRENT_USERControl PanelDesktop. Nagu näete ülaltoodud käsuvormingus, lisasin selleks sõna register, millele järgnes kaks koolonit::

Lisateavet selle kohta, kuidas PowerShell Windowsi registriga töötab, lugege meie juhendist – Kuidas kasutada PowerShelli registriväärtuse lugemiseks .

Kui viite näite järgmise sammu juurde, käivitage ülaltoodud registrivõtme kaustas olevate üksuste loetlemiseks allolev käsk:

|_+_|

Käsk kuvab kõik määratud registrivõtme kaustas olevad alamvõtme kaustad.

Kui tahan määratud kausta kustutada, käivitan esmalt käsu Get-ChildItem. Seejärel suunan väljundi valikusse Select-Object

|_+_|

Ülaltoodud käsk kuvab kõigi minu algse registrivõtme kausta alamvõtmete täieliku tee:

Kuidas kasutada PowerShelli registrivõtme kausta kustutamiseks

Seejärel sisestan alamvõtmete kustutamiseks viimase käsu käsule Remove-Item. Konkreetse alamvõtme kausta kustutamiseks suunan esmalt viimase käsu Kus-Object ja filtreerin kustutatava alamvõtme nime järgi:

|_+_|

Viimane käsk tagastab nüüd ainult määratud registri alamvõtme kaustatee.

Lõpuks, selle kausta alamvõtme kustutamiseks PowerShelli abil sisestage viimane käsk käsule Remove-Item. Enne seda peate siiski registrivõtit muutma ja sisestama selle Get-Item.

Selle lihtsamaks muutmiseks salvestan viimase käsu muutujasse

|_+_|

Seejärel vormindage see käsu Get-Item jaoks

|_+_|

Lõpuks sisestage vormindatud võtmetee Get-Item…

|_+_|

Nüüd saame väärtuse kustutada, sisestades viimase käsu käsule Remove-Item (lisasin whatif parameetri, kuna ma EI taha seda võtit kustutada)

|_+_|

Ja siin on tulemus…

Kuidas kasutada PowerShelli registrivõtme kausta kustutamiseks

Kuidas kasutada PowerShelli kausta nime kustutamiseks nagu

Selle juhendi teiste näidete käigus olen näidanud, kuidas kasutada PowerShelli kausta nime kustutamiseks, kasutades filtrit Like. Samuti, nagu juba eelmistes näidetes näidatud, saab seda filtrit rakendada käsus Get-ChildItem või käsus Where-Object.

Näiteks kõigi failide ja kaustade kustutamiseks, mille nimi on tee F:ITGFiles, saan kasutada allolevat käsku:

|_+_| Filtri toimimiseks peate võib-olla kasutama metamärki. Selles näites kasutan tärni metamärki.

Sama tulemuse saan, kui ühendan Get-ChildItem üksusesse Kus-Object. Seejärel tehke filtreerimine jaotises Kus-objekt.

|_+_|

Käsk tagastab sama tulemuse, mis viimane käsk!

Kuidas kasutada PowerShelli kausta nime kustutamiseks nagu

Nagu ka teiste selle juhendi näidete puhul, suunake kausta kustutamiseks mis tahes kahe käsu väljund käsku Remove-Item.

Kuidas kasutada PowerShelli määratud suurusest suuremate kaustade kustutamiseks

Kui soovite PowerShelli abil kustutada määratud suurusest suuremaid kaustu, peate esmalt arvutama määratud tee kaustade suurused.

Siiski peate loetlema määratud kausta tee alamkaustade täieliku tee. Kõigi kaustatee alamkaustade täieliku tee kuvamiseks käivitage allolevale sarnane käsk:

|_+_|

Käsk loetleb kaustatee F:ITGFiles kõigi alamkaustade täielikud teed

Kasutades Sügavus parameeter, mille väärtus on 0, selle asemel Kordus tagab, et tagastatakse ainult esimese taseme alamkaustad. Kuidas kasutada PowerShelli jagatud võrgukausta kustutamiseks

Nüüd, kui mul on alamkausta täielik tee, kasutan seda teavet iga alamkausta suuruse arvutamiseks. Kuid selleks, et saada alamkaustade täielik tee (see on nõutav selle hiljem kustutamiseks) ja suurus, pean looma kohandatud skripti.

Siin on täielik skript:

|_+_|

Ja siin on PowerShelli ISE käsu tulemus.

Nagu ekraanipildilt näha, tagastab skript ainult ühe faili, mis vastab suuruse (10 MB) kriteeriumidele.

Ilmselgelt on meil ülesande täitmiseks veel viimane osa – fail kustutada. Suurusnõudele vastava faili kustutamiseks muutsin IF-lauset, nagu on näidatud selles skriptis…

|_+_|

Niisiis, siin on viimane skript, mis kustutab määratud väärtusest suuremad kaustad

|_+_| Skripti kasutamiseks muuda Get-ChildItem – real 1 asukohta F:ITGFiles. Muuda ka kustutatava kausta suurust – 10-lt (MB) soovitud suurusele.

Kuidas kasutada PowerShelli jagatud võrgukausta kustutamiseks

PowerShelli kasutamine võrgukaustade kustutamiseks ei erine kohalike kaustade kustutamisest. Ainus erinevus seisneb selles, kuidas määrate võrgukausta.

Lisaks võrgukausta määramisviisile peavad teil olema ka õiged õigused. Täpsemalt peab teil olema Muuda jagamise luba.

Lisaks peab teil olema ka NTFS-i turbe muutmise luba.

Kui need lubade nõuded on täidetud, pääsete võrgukausta juurde käsuga Get-ChildItem. Seejärel viige kausta kustutamiseks käsu Get-ChildItem väljund käsku Remove-Item.

Et näidata, kuidas PowerShelli võrgukausta kustutamiseks kasutada, kasutan jagatud kausta nimega TestShare. Kaust asub minu Windows 11 testarvuti nimega ITGWIN11BETA.

Jagatud võrgukausta sisu loetlemiseks kasutan käsku Get-ChildItem, nagu allpool näidatud...

|_+_|

Nii nagu kohalik kaust, loetleb käsk kõik jagatud võrgukaustas olevad kaustad ja alamkaustad.

Kuidas kasutada PowerShelli kausta või faili kustutamiseks alates

Sellest hetkest alates saate viimase käsu otse käsku Remove-Item. Teise võimalusena rakendate filtrit enne selle eemaldamist üksusesse.

Näiteks kui soovite konkreetse kausta kustutada, saate kasutada Filter parameetri Get-ChildItem. Teise võimalusena saate käsu Get-ChildItem suunata kirjesse Kus-Object ja kasutada Filter parameeter jaotises Kus-objekt.

Lõpuks, et kustutada üksus võrgu jagatud kaustast, sisestage tulemus käsule Remove-Item.

Kuidas kasutada PowerShelli kausta või faili kustutamiseks alates

Kui soovite kustutada kaustu või faile, mis algavad kindla nimega, võite kasutada Filter parameeter Get-ChildItem cmdletis failide loetlemiseks. Seejärel sisestage tulemus valikusse Remove-Item.

Teise võimalusena võite kasutada Kustuta() Meetod rakenduses Get-ChildItem.

Selle näite illustreerimiseks kustutan alloleval ekraanipildil kõik failid ja kaustad, mis algavad tähega f.

Nagu ma varem mainisin, on esimene samm kasutada Get-ChildItem cmdleti parameetriga Filter. Siin on näidiskäsk:

|_+_| Teine võimalus võib olla suunata Get-ChildItem kirjesse Kus-Object ja sooritada filtreerimine jaotises Kus-Object .

Käsk loetleb kõik failid, mis algavad tähega f. Vaadake allolevat ekraanipilti:

Kuidas kasutada PowerShelli faili või faili kustutamiseks ja seejärel logifaili aruande kirjutamiseks

Viimane samm kõigi kaustade ja failide kustutamiseks, mis algavad tähega f, on väljundi torujuhendamine

|_+_|

Kuidas kasutada PowerShelli kausta SoftwareDistribution kustutamiseks

Nagu võib-olla juba teate, salvestab Windows allalaaditud värskendused SoftwareDistributioni kausta. Ideaalis ei pea te seda kausta kustutama.

Kui aga Windows Update'i andmebaas on rikutud, on üks viis selle parandamiseks kustutada Tarkvara levitamine kausta. Enne selle tegemist peate siiski Windowsi värskenduse peatama.

Windows Update'i teenuse peatamiseks käivitage PowerShell administraatorina. Seejärel käivitage allolev käsk:

|_+_| Kui te Windows Update'i teenust ei peata, EI saa te seda kustutada Tarkvara levitamine kausta

Järgmisena käivitage PowerShelli kasutamiseks kausta SoftwareDistribution kustutamiseks järgmised käsud:

|_+_|

Lõpuks kausta SoftwareDistribution uuesti loomiseks taaskäivitage teenus Windows Update

|_+_|

Kuidas kasutada PowerShelli faili või kausta kustutamiseks pärast selle kokkupakkimist

Faili või kausta pakkimiseks kasutage käsku Compress-Arhiiv, nagu on näidatud allolevas näites:

|_+_| Muutke LiteralPath selle faili või kausta lähteteeks, mida soovite pakkida. Samuti muutke DestinationPath teeks, kuhu soovite ZIP-faili salvestada.

Kui olete faili kokku pakkinud, kasutage selle kustutamiseks allolevat käsku ...

|_+_|

Kuidas kasutada PowerShelli faili või faili kustutamiseks ja seejärel logifaili aruande kirjutamiseks

Kui soovite PowerShelli abil faili või kausta kustutada ja seejärel toimingutest logifaili teatada, peate esmalt määrama logifailide nimed.

Selles näites soovin, et mul oleks kaks logifaili, millest üks logib edu ja teine ​​logib vigu.

Tavaliselt meeldib mulle luua oma logifailid kuupäeva alusel. Selle näite jaoks loon esmalt kuupäevatempli ja salvestan selle muutujasse:

|_+_|

Seejärel loon kuupäevatempli alusel kaks logifaili…

|_+_|

Puudu on üks osa – logifailide salvestamise kataloogi tee. Selle biti lisamiseks salvestan tee muutujasse…

|_+_|

Seejärel lisage ülaltoodud logifailide tee ...

|_+_|

Viimased kaks käsku loovad kaks logifaili. Üksikasjad leiate allolevast ekraanipildist ...

Nüüd, kui olen loonud logifailid, loon nüüd PowerShelli skripti, mis kustutab failid ja kaustad määratud teel. Seejärel kirjutage aruanded logifailidesse.

Selles näites tahan kustutada failid kaustas WindowsTemp. Esimene samm on selle kausta tee salvestamine muutujasse…

|_+_|

Seejärel kasutan Get-ChildItemi, et loetleda kausta sisu ja suunata väljund käsule Remove-Item.

Vigade jäädvustamiseks pean kogu käsu lisama proovile Proovi, püüa.

Siin on täielik skript…

|_+_| Skripti kasutamiseks kopeerige see PowerShelli ISE-sse. Seejärel muutke muutuja $Path selle kausta teeks, mida soovite kustutada. Samuti muutke $LogPath kaustatee, kuhu soovite logifailid salvestada.

See on kõik – meie põhjalik juhend PowerShelli kasutamiseks failide või kaustade kustutamiseks! Loodan, et juhendist oli abi.

Kui leidsite sellest abi, hääletage lahkesti Jah kuni Kas see postitus oli kasulik? allpool. Teise võimalusena võite jagada üksikasjalikku tagasisidet selle lehe lõpus oleva vormi JÄTA VASTUS abil.

Lõpuks, et saada rohkem PowerShelli juhendeid koos näidetega, külastage meie Windows PowerShelli juhiste lehte. Abiks võivad olla ka meie TASUTA PowerShelli koolitusjuhised.