Kansioiden tai tiedostojen poistaminen PowerShellillä

18. elokuuta 2021 10262 Näkymät Kansioiden tai tiedostojen poistaminen PowerShellillä

Haluatko poistaa tiedostoja ja kansioita PowerShellillä, mutta et tiedä miten? Tämä artikkeli antaa sinulle vaiheittaisen oppaan siitä, kuinka voit poistaa kansion, tiedoston tai kaikki kansiot ja tiedostot tietyssä polussa PowerShellin avulla.

Tämä blogiviesti opettaa sinulle erilaisia ​​tapoja poistaa kansioita ja tiedostoja PowerShellin avulla. Jos tämä kuulostaa mielenkiintoiselta, jatka lukemista!

Opas alkaa selittämällä kaksi tapaa käyttää PowerShellia kansioiden ja tiedostojen poistamiseen. Sitten toisessa osassa opit korjaamaan yleisiä virheitä, jotka liittyvät tiedostojen ja kansioiden poistamiseen PowerShellillä.

Lopuksi oppaassa on yli 20 esimerkkiä.

Selaa viestien aiheita

2 tapaa poistaa kansio tai tiedosto PowerShellillä

PowerShell tarjoaa kaksi tapaa poistaa kohteita. Voit poistaa kansion tai tiedoston PowerShell-poistomenetelmällä.

Toiseksi voit poistaa kohteita PowerShellissä Poista-kohteen avulla. Tämän osion kahdessa seuraavassa alaosassa opit käyttämään näitä menetelmiä.

Tapa 1: Käytä Powershelliä Poistaa() Menetelmä kansion tai tiedoston poistamiseksi

Jotta PowerShell voi poistaa kansion, tarvitset Get-ChidItem Cmdletin. Get-ChildItem Cmdlet palauttaa kohteet ja alikohteet tietyssä paikassa.

Kaikkien polun tiedostojen ja kansioiden luettelointi E: raportoi , suorita alla oleva komento:

|_+_|

Tässä on tulos PowerShellissä…

Kuinka käyttää Powershell Delete()

Tällä komennolla kutsutaan menetelmä Poistaa . Voit käyttää Poistaa Menetelmä kansioiden ja tiedostojen poistamiseen.

Jos haluat nähdä yllä olevan komennon käytettävissä olevat menetelmät, kirjoita komento Get-Member Cmdletiin.

|_+_|

Komento palautti kahden tyyppisiä ominaisuuksia. yksi , System.IO.DirectoryInfo (katso ensimmäinen kuva alla). kaksi , System.IO.FileInfo . Ensimmäinen liittyy polun kansioihin, kun taas toinen liittyy tiedostoihin.

Katso tarkkaan kahta kuvaa. Huomaa, että jokaisella niistä on menetelmä nimeltään Poistaa . Voit käyttää Poistaa PowerShellin menetelmä kansion tai tiedoston poistamiseksi.

Seuraavassa osiossa näytän kuinka sitä käytetään Poistaa Menetelmä.

Kuinka käyttää Poistaa () Menetelmä Powershellissä kansion tai tiedoston poistamiseksi

Kohteen syntaksi Poistaa Menetelmä on:

|_+_|

Esine on Get-ChidItem Cmdletin palauttamien tiedostotietojen kansio. Lisäksi, Poistaa on menetelmä, jota yleensä seuraa ()-operaattori.

Yllä olevan syntaksikomennon ymmärtämisen helpottamiseksi tässä on alkuperäinen Get-ChildItem -komento:

|_+_|

ja tulos…

Kuinka käyttää Powershell Delete()

Tähän mennessä selittämieni tietojen perusteella voit teoriassa käyttää PowerShell-poistomenetelmää poistaaksesi kansion nimeltä raportit suorittamalla alla olevan komennon:

|_+_|

Viimeinen komento palauttaa kuitenkin virheilmoituksen Hakemisto ei ole tyhjä.

Tämän ongelman ratkaisemiseksi tarvitsen komennon, joka palauttaa kaikki polun tiedostot ja kansiot sekä alikansiot. Sitten minun on johdettava tulos aForEach-silmukkaan.

Tässä on muokattu komento:

|_+_|

Tässä on komento PowerShellissä. Kaikki tiedostot on poistettu määritetystä polusta.

Viimeinen komento poistaa tiedostot määritetystä kansiosta ja sen alikansioista. Se ei kuitenkaan poista kansioita.

Poista kansiot suorittamalla alla oleva komento:

|_+_|

Sen vahvistamiseksi E: raportoi on nyt tyhjä, suoritan Get-ChildItem-komennon uudelleen.

|_+_|

Se ei palauta mitään!

Ennen kuin siirryn seuraavaan osaan, haluan selittää, kuinka tämä komento poisti kaikki tiedostot ja alikansiot.

|_+_|

Get-ChildItem sisältää kaksi parametria nimeltä Sisältää ja Toistuva . Komennossa käytin -Sisältää *.* käskeä PowerShellia sisällyttämään kaikki tiedostot tulokseen.

Toistuva toisaalta käskee Get-ChildItemiä palauttamaan kaikki kansiot ja alikansiot.

Komennon toisessa osassa lisäsin Get-ChildItem ForEach-lauseeseen. ForEach käy läpi kaikki Get-ChildItemin palauttamat objektit ja käyttää Poistaa Tapa poistaa ne.

Kuten jo mainitsin, kun esittelin tämän osion, PowerShellissä on cmdlet nimeltään Poista esine erityisesti. Voit myös käyttää tätä PowerShell-komentoa poistaaksesi kansion tai tiedoston.

Seuraava jakso käsittelee sen käyttöä Poista esine . Kokemukseni mukaan käyttämällä Poista esine on parempi kuin käyttää Poistaa() Menetelmä.

Tapa 2: Käytä Powershelliä Poista esine Cmdlet kansion tai tiedoston poistamiseen

Tiedoston tai kansion poistaminen käyttämällä Poista esine sinun on silti käytettävä PowerShell-cmdlet-komentoa Get-ChildItem. Liitä sitten tulos Poista esine .

Voit juosta Poista esine ilman Get-ChildItem . Kokemukseni mukaan useimmissa tilanteissa on kuitenkin parasta listata tuote Get-ChildItem . Ohjaa sitten ulostulo kohtaan Poista esine .

Tämän osion ensimmäisessä esimerkissäni haluan käyttää PowerShellia ITGServer2-nimisen kansion poistamiseen. Katso alla oleva kuvakaappaus.

Tapa 2: Poista kansio tai tiedosto Powershell Remove-Item -cmdletillä

Tässä on PowerShell-komento, joka poistaa kansion…

|_+_|

Yllä olevan komennon suorittamisen jälkeen kansio on poissa!

Tapa 2: Poista kansio tai tiedosto Powershell Remove-Item -cmdletillä

Toisessa esimerkissäni haluan poistaa kansiot ja alikansiot E: eportsista. Alla oleva komento tekee työn…

|_+_|

Viimeisen komennon suorittamisen jälkeen kaikki määritetyn kansion kansiot ovat poissa!

Tapa 2: Poista kansio tai tiedosto Powershell Remove-Item -cmdletillä

Kuinka korjata yleisiä virheitä Powershell-kansion tai -tiedoston poistamisen avulla

Kuinka korjata yleisiä virheitä Powershell-kansion tai -tiedoston poistamisen avulla

Kun suoritat Remove-Item PowerShell-komennon poistaaksesi kansion tai tiedoston, se saattaa palauttaa joitain virheitä. Tämä osio kattaa joitain näistä virheistä ja kuinka ne korjataan.

Minusta on parempi keskustella näiden yleisten virheiden ratkaisuista, ennen kuin sukeltaamme todellisiin sysadmin-esimerkkeihin siitä, kuinka PowerShellillä poistetaan kansioita tai tiedostoja.

Kuinka korjata Powershell-poistokansion tai -tiedoston käyttö estetty -virhe

Jos suoritat Poista-kohteen poistaaksesi tiedoston tai kansion ja saat Pääsy kielletty -virhesanoman, kokeile seuraavaa:

  1. Vaihda tiedoston tai kansion omistaja – käytä alla olevia koodeja vaihtaaksesi tiedoston tai kansion omistajan paikalliseksi järjestelmänvalvojaksi

Suorita tämä komento avaamalla PowerShell järjestelmänvalvojana, muuten viimeinen komento epäonnistuu.

|_+_| Muuta kansion polku, F:ITGFilesTextfiles, tiedoston tai kansion koko polkuksi

Kun olet vaihtanut omistajan paikalliseksi järjestelmänvalvojaksi, yritä suorittaa tiedoston tai kansion poistaminen uudelleen PowerShellillä. Jos se ei toimi, kokeile näitä korjauksia.

  1. Lisää Pakottaa parametri kohtaan Poista-kohde
  2. Kokeile sen sijaan Delete()-menetelmää. Jos et tiedä, miten PowerShell Delete() -menetelmää käytetään, katso tämän oppaan osio Delete()-menetelmän käyttäminen Powershellissä kansion tai tiedoston poistamiseen (linkki avautuu eri selaimen välilehdelle).

Powershell-poistokansion korjaamista ei voida poistaa, koska se ei ole tyhjä -virhe

Jos ilmoitusta ei voida poistaa, koska se ei ole tyhjä, virhe komennon suorittamisen yhteydessä:

|_+_|

Kokeile käyttää Get-ChildItemiä Recurse-parametrin kanssa. Pujota se sitten Poista-kohteeseen -painikkeella Pakottaa ja Toistuva parametrit.

Tässä on esimerkkikomento:

|_+_|

Vaihtoehtoisesti voit suorittaa Get-ChildItem-komennon ja määrittää tähdet polun viimeisen vinoviivan taakse. Tämä poistaa kansion kaiken sisällön.

Jos esimerkiksi suoritan komennon…

|_+_|

…ja vastaanottaa Ei voida poistaa, koska se ei ole tyhjä, korjaan ongelman suorittamalla ensin alla olevan komennon:

|_+_|

Viimeinen komento poistaa vain E: eports-kansion kohteet. Lopuksi poistan kansion (joka on nyt tyhjä) suorittamalla alla olevan komennon…

|_+_|

Toisen prosessivirheen käyttämän Powershell-poistokansion korjaaminen

Kuinka korjata Powershell-poistokansio

Jos saat ilmoituksen Remove-Item palauttaa virhesanoman, koska se on toisen prosessin käytössä, sinun on sisällytettävä Force-parametri.

Tässä on alkuperäinen, joka palautti virheilmoituksen…

|_+_|

Korjaa tämä ongelma suorittamalla alla oleva komento tiedostolle:

|_+_|

Viimeinen komento poisti tiedoston onnistuneesti…

Kuinka korjata Powershell-poistokansion tai -kansion tai -tiedoston nimi liian pitkä -virhe

Tämä näyttää olevan PowerShellin tunnettu rajoitus.

Voit kuitenkin korjata tämän ongelman käyttämällä sinulle cmd-komento. Liitä sitten tulos Remove-Item-komentoon.

Tässä on esimerkki…

|_+_| dir-komento on PowerShellin Get-ChildItemin cmd-vastaava.

Kuinka korjata Powershell Delete -kansion pääsy polkuun estetty -virhe

PowerShell Remove-Item -komento antaa pääsyn polkuun estetty -virhesanoman, jos yrität poistaa kansion, jonka poistamiseen sinulla ei ole oikeutta.

Syy, miksi saat tämän virhesanoman, on se, että sinulla ei ole pääsyä kansioon. Ennen kuin suoritat Remove-Item-komennon, suorita seuraavat komennot antaaksesi paikallisille järjestelmänvalvojille pääsyn kansioon.

Tämä korjaus olettaa, että tili, jolla kirjauduit sisään, on paikallisen Järjestelmänvalvojat-ryhmän jäsen. Ennen kuin suoritat alla olevan komennon PowerShell ISE:ssä, muuta polku F:ITGFilesTextfiles kansion poluksi, jota yrität poistaa. |_+_|

Kun olet suorittanut yllä olevan komentosarjan, suorita Remove-Item -komento uudelleen.

Lisää Powershell-poistokansion tai -tiedoston esimerkkejä

Lisää Powershell-poistokansion tai -tiedoston esimerkkejä

Tämä oppaan viimeinen osa kattaa useita esimerkkejä siitä, kuinka PowerShellia käytetään tiedostojen tai kansioiden poistamiseen.

Kuinka poistaa kansio tai tiedosto PowerShellillä, jos se on olemassa

Koska tässä esimerkissä on ehto – jos kansio tai tiedosto on olemassa – komennon ensimmäinen polku tarkistaa, onko kohde olemassa.

Voit käyttää Testipolku -komento tarkistaaksesi, onko kansiota tai tiedostoa olemassa. Tämän jälkeen käytät IF-ehtolauseketta kansion tai tiedoston poistamiseen, jos se on olemassa.

Voimme yhdistää molemmat komennot IF-käskylohkossa…

Tässä esimerkissä haluan poistaa ITGServer-nimisen kansion polusta F:ITGFilesTextfiles – jos kansio on olemassa.

Tässä on käsky…

|_+_|

Tässä esimerkissä tämä kansio on olemassa, joten se poistettiin. Jos kuitenkin yritämme komentoa tiedostolla, jota ei ole olemassa, saamme viestin tiedostoon Muu IF-lauseen lohko.

Kuinka poistaa kansio ja sen alikansiot PowerShellillä

Jos haluat poistaa kansion ja kaikki alikansiot, suorita Poista esine komennon kanssa Toistuva ja Pakottaa parametrit.

Tässä on esimerkki…

|_+_|

Kuinka poistaa kansio tai tiedosto, joka on vanhempi kuin x päivää (tai päivämäärän perusteella) PowerShellillä

Tässä esimerkissä, koska haluamme poistaa tiedostoja tai kansioita, jotka ovat vanhempia kuin x päivää, ensimmäinen askel on saada päivien viite. Tämä tehdään Get-Date-komennolla.

Koska haluamme kuitenkin poistaa yli x päivää vanhemmat kohteet, meidän on määritettävä x päivää negatiiviseksi arvoksi. Jos esimerkiksi haluat poistaa kaikki yli 7 päivää vanhat tiedostot tai kansiot, hanki päivien viite alla olevalla komennolla:

|_+_|

Käytä sitten Get-ChildItem komento saada LastWriteTime esineen omaisuutta. The LastWriteTime ominaisuus tallentaa päivämäärän, jolloin kansiota tai tiedostoa on viimeksi muokattu.

Lisäksi LastWriteTime -ominaisuus, Get-ChildItem-komento palauttaa toisen ominaisuuden nimeltä PSIsContainer . PSIsContainer-ominaisuus erottaa tiedoston kansiosta.

Jos PSIsContainer on totta, se tarkoittaa, että kohde on kansio. Toisaalta jos PSIsContainer on epätosi, se tarkoittaa, että kohde on tiedosto.

Ennen kuin esittelen LastWriteTime-ominaisuuden, anna minun ensin suorittaa Get-ChildItem-komento ja suodattaa PSIsContainer-ominaisuuden mukaan:

|_+_|

Tämä komento palautti yhden objektin nimeltä ITG koska tämä on polun F:ITGFilesTextfiles ainoa kansio.

Vaihtoehtoisesti voit luetella vain polun tiedostot suorittamalla alla olevan komennon:

|_+_|

Tällä kertaa, koska tarkensin $ _. PSIsConta laskeutuu -eq $ EPÄTOSI , PowerShell palauttaa kaikki muut kuin kansiot.

Nyt kun ymmärrät kansioiden tai tiedostojen luetteloimisen kansiossa, esitellään LastWriteTime-ominaisuus. Kuten aiemmin mainitsin, kohteen viimeinen muokkauspäivämäärä ja -aika kirjataan LastWriteTime-ominaisuuteen.

Nämä komennot sisältävät LastWriteTime-ominaisuuden:

|_+_|

Ensimmäinen komento palauttaa kaikki kansiot, joita on viimeksi muokattu ennen $DaysRef-muuttujaan tallennettua päiväviittausta. Tässä esimerkissä päiväviite on 7 päivää.

Päinvastoin, toinen komento palauttaa kaikki tiedostot, joita on muokattu viimeisten x päivän aikana – missä x päivää on 7 tässä esimerkissä.

Tämän esimerkin toinen ja viimeinen vaihe, joka käyttää PowerShellia yli x päivää vanhempien tiedostojen kansioiden poistamiseen, on ohjata Where-Object-komento kohtaan Remove-Item.

Alla oleva komentosarja viimeistelee tiedostojen ja kansioiden poistamisen…

|_+_| Jos mikään tiedosto tai kansio ei täytä LastWriteTime-ehtoja, mitään ei poisteta.

Kuinka käyttää PowerShellia vain kansion sisällön poistamiseen

Tässä esimerkissä poistan hakemiston F:ITGFilesfolder sisällön, mutta en itse kansiota.

Jos haluat poistaa vain kansion sisällön mutta säilyttää kansion, suorita Remove-Item -komento alla olevan esimerkin mukaisesti:

|_+_|

Temppu on lisätä tähti viimeisen vinoviivan jälkeen kansiopolun loppuun.

The Toistuva parametri poistaa kaikki kansiot ja alikansiot määritetystä polusta. Tässä esimerkissä F:ITGFilesfolder*

Kuinka käyttää PowerShellia kansion ja sisällön poistamiseen ilman vahvistusta tai kehotetta

Temppu kansion ja sisällön poistamiseen ilman vahvistusta on lisätä Pakottaa ja Vahvista:$false parametrit Poista esine komento.

Jos suoritan alla olevan komennon lisäämättä Vahvista:$false -parametrilla vahvistan, että haluan poistaa kansion ja sen kaiken sisällön.

|_+_|

Jos en kuitenkaan halua saada tätä vahvistuskehotetta, lisään Confirm:$false -parametrin.

|_+_|

Komennon tulee suorittaa pyytämättä vahvistusta toimenpiteelle. Huomaa myös, että parametri, joka pysäyttää vahvistuskehotteen, on Vahvista:$false .

Jos viimeinen komento pyytää edelleen vahvistusta, suorita ensin Get-ChildItem komento. Liitä sitten tulos Remove-Item-komentoon alla olevan kuvan mukaisesti:

|_+_|

Valitettavasti viimeinen komento ei poista yläkansiokansiota. Jos haluat poistaa yläkansion ja kaiken sen sisällön, lisää -filter-parametri Get-ChildItem-komentoon tämän komennon mukaisesti:

|_+_|

Kuinka käyttää PowerShellia kansion tai tiedoston poistamiseen roskakoriin

Jos poistat kansion tai tiedoston Remove-Item-komennolla, se poistetaan pysyvästi. Toisin sanoen kansiota ei siirretä roskakoriin.

Valitettavasti PowerShell-komentosarjaa ei ole mahdollista poistaa kansiosta tai tiedostosta roskakoriin. Yritin luoda mukautetun toiminnon tätä tehtävää varten. Löysin kuitenkin olemassa olevan funktion, jonka on luonut a stackoverflow.com avustaja.

Latasin toiminnon kopion S Zoneen, jotta se olisi lukijoidemme saatavilla. Lataa ja käytä toimintoa seuraavasti:

  1. Lataa toiminto napsauttamalla Lataa Remove-ItemToRecycleBin.zip
  2. Pura sitten ladattu zip-tiedosto. Kun purat tiedoston, se luo kansion nimeltä Remove-ItemToRecycleBin.
  3. Kopioi lopuksi kansio Windows 10 PowerShell -profiilimoduulikansioosi. Kansio sijaitsee alla olevalla polulla
|_+_| on Windows 10 -profiilisi nimi. Tämä sijaitsee yleensä hakemistossa C:Users. Jos se ei kuitenkaan ole asemassa C, katso asemaa D tai E.

Kun olet kopioinut moduulikansion moduulikansioosi, voit käyttää sitä kuten mitä tahansa muuta PowerShell-komentoa. Havainnollistaakseni sen toimintaa poistan E: eports roskakoriin.

Ennen kuin suoritan komennon, tässä on kuvakaappaus tyhjästä roskakoristani.

Kuinka käyttää PowerShellia kansion tai tiedoston poistamiseen roskakoriin

Jos haluat nyt käyttää PowerShellia kansion poistamiseen, E: aportoi roskakoriin, suoritan alla olevan komennon:

|_+_|

Yllä olevan komennon suorittamisen jälkeen raporttikansio siirretään roskakoriin. Katso alla oleva kuvakaappaus…

Kuinka käyttää PowerShellia kansion tai tiedoston poistamiseen ja muiden kansioiden tai tiedostojen poissulkemiseen

Poista-kohde-komennossa on Sulje pois parametri. Tätä parametria käytetään sulkemaan pois kansio tai tiedosto, jota et halua poistaa.

Tässä on esimerkki. Haluan poistaa kaikki kansiot polusta F:ITGFilesTextfiles5. En kuitenkaan halua poistaa kansiota 3.

Kuinka käyttää PowerShellia kansion tai tiedoston poistamiseen ja muiden kansioiden tai tiedostojen poissulkemiseen

Kuten yllä olevasta kuvakaappauksesta näet, kansiossa on sekä kansioita että tiedostoja.

Jos haluat poistaa vain kansioita, minun on ensin käytettävä Get-ChildItem-komentoa kaikkien polun kohteiden luetteloimiseksi. Liitä sitten tulos Where-Objectiin ja suodata PSIsContainer-ominaisuuden mukaan.

|_+_|

Viimeisen komennon suorittamisen jälkeen kaikki kansiot poistetaan, mutta ei folder3. Huomaat myös, että F:ITGFilesTextfiles5:n tiedostoja ei poistettu.

Syy, miksi vain kansiot poistettiin, on se, että sisällä Missä-Objekti lohko, suodatin käyttämällä {$_.PSIsContainer -eq $TRUE}. PSIsContainer-ominaisuus määrittää, että objekti on kansio.

Jatkettaessa Remove-Item-kohdassa on myös parametri nimeltä Include. Tämä parametri suorittaa päinvastaisen toiminnon kuin poissulkemisparametri.

Voin saavuttaa saman tuloksen kuin viimeisellä komennolla korvaamalla Exclude komennolla Sisällytä. Toisin kuin edellinen komento, luettelon nyt kuitenkin kansiot, jotka haluan poistaa.

Tässä on esimerkkikomento, joka poistaa vain kansio1:stä F:ITGFilesTextfiles5.

|_+_|

Kun olet suorittanut edellisen komennon, huomaat, että vain kansio1 poistettiin.

Jos haluat poistaa tiedostoja kansioiden sijaan, muuta $_.PSIsContainer -eq $TRUE arvoksi $_.PSIsContainer -eq $FALSE

Kuinka käyttää PowerShellia kansion poistamiseen, vaikka se ei olisi tyhjä

Jos haluat poistaa kansion PowerShellillä – vaikka kansio ei olisi tyhjä – sisällytä Pakottaa ja Toistuva parametrit. Tässä on esimerkki.

|_+_|

Kuinka käyttää PowerShellia tyhjien kuin X päivää vanhempien kansioiden poistamiseen

Noudata alla olevia ohjeita käyttääksesi PowerShellia tyhjien kansioiden poistamiseen yli x päivää…

Tässä esimerkissä haluan poistaa yli 90 päivää vanhemmat kansiot Windows 10 -profiilistani C:UsersVictorA.

  1. Käytä Get-ChildItems listataksesi vain määritetyn polun kansiot:
|_+_|

Komento listaa kaikki määritetyn polun kansiot. Jos muistat, käytimme tämän oppaan aiemmissa komennoissa kansioiden palauttamiseen Missä-Objekti suodattaa PSIsContainer omaisuutta. Päätän kuitenkin saavuttaa saman tuloksen käyttämällä Hakemisto parametri Get-ChildItem .

  1. Liitä sitten Get-ChildItem-komennon tulos kohtaan Where-Object. Lisää Where-Object-komentoon suodatin, joka palauttaa vain tyhjät kansiot. Tässä on käsky…
|_+_|
  1. Nyt meidän on lisättävä polku, joka palauttaa edellisen luettelon kansiot, jotka ovat vanhempia kuin 90 päivää. Tämä sisältää kaksi komentoa.

Ensimmäisessä komennossa käytän Get-Datea määrittääkseni ajanjakson päivämäärän. Esimerkissä 90 päivää sitten. Helpottaakseni tallennan tuloksen muuttujaan nimeltä $DaysRef.

|_+_|

Sitten toisessa komennossa sisällytän toisen suodattimen viimeisen komennon Missä-Object-osaan.

|_+_|

Tässä on viimeisen komennon tulos…

Kuinka käyttää PowerShellia tyhjien kuin X päivää vanhempien kansioiden poistamiseen

Kuten näet, viimeinen komento palauttaa nyt vain kaksi tyhjää kansiota. Suoritin tämän komennon 4. elokuuta 2021. Kuten näette, LastWriteTime kahdesta kansiosta on 16/06/2021 16:29.

Yhdysvaltalaisille lukijoille tämä päivämäärä on 16. elokuuta 2021 (16.6.2021)

Tämä tarkoittaa, että kahta kansiota on viimeksi muokattu viimeksi yli 90 päivän kuluttua komennon suorittamisesta.

  1. Lopuksi, jos haluat poistaa nämä tyhjät kansiot, jotka ovat vanhoja kuin 90 päivää, liitä viimeinen komento Remove-Item PowerShell-komentoon.
|_+_|

PowerShellin käyttäminen käyttäjäprofiilikansion poistamiseen

Jos haluat poistaa käyttäjäprofiilikansion tämän osan komennoilla, sinun TÄYTYY avaa PowerShell järjestelmänvalvojana . Muussa tapauksessa saatat saada pääsy estetty -virhesanoman

Ensimmäinen askel PowerShellin käyttämiseksi käyttäjän profiilikansion poistamiseen on määrittää polku käyttäjän kansioon. PowerShellissä on ympäristömuuttuja, joka palauttaa polun Windowsin asennushakemistoon.

Muuttuja on…

|_+_|

Tämä komento palauttaa polun kuten C:WINDOWS. Sillä välin Käyttäjät-kansio (joka sisältää kaikki käyttäjäprofiilien kansiot) sijaitsee sen aseman juuressa, johon Windows on asennettu.

Esimerkissäni Käyttäjät-kansio sijaitsee asemassa C:WINDOWS.

Kuitenkin palauttaaksesi C:, C:WINDOWS, käytä jakomenetelmää alla olevan komennon mukaisesti.

|_+_|

Komento palauttaa C: ja WINDOWS. Seuraava vaihe on palauttaa C: – tämä on taulukon ensimmäinen kohde.

PowerShellin käyttäminen käyttäjäprofiilikansion poistamiseen

Päästäksesi tähän kohteeseen, sisällytä tämä [0] viimeiseen komentoon alla olevan kuvan mukaisesti.

|_+_|

Nyt meillä on C:

PowerShellin käyttäminen käyttäjäprofiilikansion poistamiseen

Mainitsin aiemmin, että kaikki käyttäjäprofiilit sijaitsevat Käyttäjät-kansiossa. Viimeisestä komennosta lisään Käyttäjät palautusarvoon C:Users

|_+_|

Nyt meillä on koko polku Käyttäjät-kansioon.

Seuraavassa komennossa käytän Get-ChildItemiä kaikkien Käyttäjät-kansiossa olevien käyttäjäprofiilien kansioiden luetteloimiseen. Virheiden välttämiseksi tallennan kuitenkin ensin viimeisen komennon muuttujaan.

|_+_|

Nyt voin käyttää Get-ChildItemiä palauttamaan kaikki käyttäjäprofiilikansiot Käyttäjät-kansiossa. Tässä on komento:

|_+_|

Ja tulos PowerShellissä…

PowerShellin käyttäminen käyttäjäprofiilikansion poistamiseen

Viimeinen bitti on ohjata viimeinen komento kohtaan Remove-Item. Sinun on kuitenkin käytettävä Filter-parametria poistaaksesi vain käyttäjäprofiilikansion, josta haluat päästä eroon.

Tässä esimerkissä haluan poistaa käyttäjäprofiilikansion nimeltä victo ja kaikki sen alikansiot

Tässä on viimeinen komento, joka käyttää PowerShellia käyttäjäprofiilikansion poistamiseen:

|_+_|

Tämän komennon suorittamisen jälkeen, jos nyt suoritat alla olevan komennon, poistettua profiilia ei enää näytetä luettelossa.

|_+_|

Kuinka käyttää PowerShellia kansion poistamiseen Appdatasta

PowerShellillä on kaksi ympäristömuuttujaa kirjautuneen käyttäjän AppData-kansiolle.

|_+_|

Käyttämäsi ympäristömuuttuja riippuu poistettavan kansion sijainnista. Jos et kuitenkaan ole varma poistettavan kansion sijainnista, voit etsiä molemmista sijainneista.

Tämän saavuttamiseksi tallennan molemmat ympäristömuuttujat muuttujaan nimeltä $appdatafolders…

|_+_|

Sitten käytän ForEach-silmukkaa molempien paikkojen tarkistamiseen. Tässä on koodi, joka tekee tämän työn…

|_+_| Lisäsin WhatIf-parametrin, jotta PowerShell ei poista kansiota. Sen sijaan PowerShell näyttää toiminnon, joka sen oli suoritettava, jos WhatIf-parametria ei sisällytetty.

Tässä on PowerShellin komennon tulos. Kuvakaappauksen oikealla puolella oleva kuva on AppData-kansiossani oleva kansio.

Kuinka käyttää PowerShellia kansion poistamiseen Appdatasta

Kuinka käyttää PowerShellia piilotetun kansion poistamiseen

Get-ChildItem-komennossa on parametri nimeltä Hidden. Jos haluat luetteloida piilotetut kansiot tietyssä kansiossa, sisällytä Hidden-parametri.

Alla olevassa kuvakaappauksessani minulla on 3 kansiota (ei tai ne on piilotettu).

Havainnollistaakseni PowerShellin käyttämistä piilotettujen kansioiden poistamiseen piilotan Textfiles3:n. Nyt kansio on piilotettu.

Kuinka käyttää PowerShellia piilotetun kansion poistamiseen

Listaaksesi piilotetun kansion, suoritan alla olevan komennon…

|_+_|

Kuten odotettiin, komento luettelee vain piilotetun kansion.

Jos haluat poistaa piilotetun kansion PowerShellillä, liitän nyt viimeisen komennon Remove-Item-komentoon.

|_+_|

Vahvistaakseni, että kansio on poistettu, otin käyttöön Näytä piilotetut kohteet -attribuutin Resurssienhallinnassa.

Kuinka käyttää PowerShellia piilotetun kansion poistamiseen

Kuinka käyttää PowerShellia tiedostojen poistamiseen, mutta kansiorakenteen säilyttämiseen

Joissakin tapauksissa saatat haluta poistaa kaikki kansion tiedostot, mukaan lukien sen alikansiot, mutta säilyttää kansiorakenteen.

Tämän saavuttamiseksi sinun on suoritettava Get-ChildItem-komento ja määritettävä File-parametri. Kun käytät File-parametria, Get-ChildItem luettelee vain määritetyn kansion tiedostot.

Osoittaakseni, kuinka tämä toimii, olen luonut alla olevassa kuvakaappauksessa näkyvän kansiorakenteen:

Kuinka käyttää PowerShellia tiedostojen poistamiseen, mutta kansiorakenteen säilyttämiseen

Kuten kuvakaappauksesta näkyy, kansiossa1 on kaksi alikansiota, kansio2 ja kansio3. Lisäksi kansioissa 2 ja kansio3 on joitain tiedostoja.

Jos haluat käyttää Get-ChildItemiä näyttämään vain tiedostot polussa F:ITGFilesfolder1, suoritan alla olevan komennon:

|_+_|

Komento näyttää vain tiedostot kahdella polulla, F:ITGFilesfolder1folder2 ja Directory: F:ITGFilesfolder1folder3

Lopuksi, jos haluat poistaa tiedostot, mutta säilyttää kansiorakenteen, syötä viimeinen komento kohtaan Remove-Item…

|_+_|

Komento poistaa kaikki tiedostot, mutta jättää kansiorakenteen ennalleen!

Kuinka käyttää PowerShellia rekisteriavainkansion poistamiseen

Rekisteriavainkansion luettelointi- ja poistamiskomento on sama komento, jota käytetään normaalien kansioiden poistamiseen.

Jos olet lukenut tätä opasta alusta alkaen, olemme käyttäneet toistaiseksi kahta komentoa:

Get-ChildItem : käytetään luetteloimaan tietyn polun kohteet
Poista esine : käytetään Get-ChildItemin luetteloimien tiedostojen/kansioiden poistamiseen

Ainoa ero on kuitenkin se, kuinka käytät rekisteriavainkansioita.

On olemassa useita tapoja muotoilla rekisteriavain käytettäväksi Get-ChildItem- ja Remove-Item-komennoissa. Tässä esimerkissä käytän kuitenkin alla olevaa menetelmää:

|_+_|

Tässä esimerkissä haluan käyttää rekisteriavainkansiota HKEY_CURRENT_USERControl PanelDesktop. Kuten näet yllä olevasta komentomuodosta, lisäsin tähän sanan rekisteri, jota seurasi kaksi kaksoispistettä, ::

Saat lisätietoja PowerShellin toiminnasta Windowsin rekisterin kanssa lukemalla oppaamme - PowerShellin käyttäminen rekisteriarvon lukemiseen .

Jos siirrät esimerkin seuraavaan vaiheeseen, lue yllä olevan rekisteriavainkansion kohteet suorittamalla alla oleva komento:

|_+_|

Komento näyttää kaikki määritetyn rekisteriavainkansion aliavainkansiot.

Jos haluan poistaa tietyn kansion, suoritan ensin Get-ChildItemin. Sitten putsaan tulosteen Select-Objectiin

|_+_|

Yllä oleva komento näyttää täydellisen polun kaikkiin alkuperäisen rekisteriavainkansioni aliavaimiin:

Kuinka käyttää PowerShellia rekisteriavainkansion poistamiseen

Sitten aliavaimien poistamiseksi kirjoitan viimeisen komennon kohtaan Remove-Item. Kuitenkin, jos haluat poistaa tietyn aliavainkansion, kirjoitan ensin viimeisen komennon kohtaan Where-Object ja suodatan poistettavan aliavaimen nimen mukaan:

|_+_|

Viimeinen komento palauttaa nyt vain määritetyn rekisterin aliavaimen kansiopolun.

Lopuksi poistaaksesi tämän kansion aliavaimen PowerShellillä, liitä viimeinen komento kohtaan Remove-Item. Sitä ennen sinun on kuitenkin muokattava rekisteriavain ja liitettävä se Get-Itemiin.

Jotta se olisi helppoa, tallennan viimeisen komennon muuttujaan

|_+_|

Muotoile se sitten Get-Item-komennolla

|_+_|

Liitä lopuksi muotoiltu avainpolku Get-Item…

|_+_|

Nyt voimme poistaa arvon liittämällä viimeisen komennon kohtaan Remove-Item (lisäsin whatif-parametrin, koska en halua poistaa tätä avainta)

|_+_|

Ja tässä tulos…

Kuinka käyttää PowerShellia rekisteriavainkansion poistamiseen

Kuinka käyttää PowerShellia kansion nimen poistamiseen kuten

Tämän oppaan muissa esimerkeissä olen osoittanut, kuinka PowerShellin avulla poistetaan kansion nimi Like-suodattimen avulla. Kuten aiemmissa esimerkeissä on jo osoitettu, tätä suodatinta voidaan käyttää myös Get-ChildItem-komennossa tai Where-Object-komennossa.

Esimerkiksi, jos haluat poistaa kaikki tiedostot ja kansiot, joiden nimet ovat kuten tiedosto polusta F:ITGFiles, voin käyttää alla olevaa komentoa:

|_+_| Jotta suodatin toimisi, saatat joutua käyttämään jokerimerkkiä. Tässä esimerkissä käytän jokerimerkkiä asteriski.

Voin saavuttaa saman tuloksen putkistolla Get-ChildItem kohtaan Where-Object. Suorita sitten suodatus kohdassa Where-Object.

|_+_|

Komento palauttaa saman tuloksen kuin viimeinen komento!

Kuinka käyttää PowerShellia kansion nimen poistamiseen kuten

Kuten muissakin tämän oppaan esimerkeissä, poistaaksesi kansion, johda jommankumman komennon tulos kohtaan Remove-Item.

PowerShellin käyttäminen määritettyä kokoa suurempien kansioiden poistamiseen

Jos haluat poistaa määritettyä kokoa suurempia kansioita PowerShellillä, sinun on ensin laskettava kansiokoot määritetyssä polussa.

Sinun on kuitenkin lueteltava koko polku määritetyn kansiopolun alikansioihin. Listaaksesi koko polun kaikkiin kansiopolun alikansioihin, suorita alla olevan kaltainen komento:

|_+_|

Komento listaa täydelliset polut kaikkiin kansiopolun F:ITGFiles alikansioihin

Käyttämällä Syvyys parametrin arvolla 0 sen sijaan Toistuva varmistaa, että vain ensimmäisen tason alikansiot palautetaan. Kuinka käyttää PowerShellia jaetun verkkokansion poistamiseen

Nyt kun minulla on koko polku alikansioon, aion käyttää näitä tietoja kunkin alikansion koon laskemiseen. Minun on kuitenkin luotava mukautettu komentosarja, jotta minulla on koko polku alikansioihin (vaaditaan sen poistamiseksi myöhemmin) ja koko.

Tässä on koko käsikirjoitus:

|_+_|

Ja tässä on PowerShell ISE:n komennon tulos.

Kuten kuvakaappauksesta näkyy, komentosarja palauttaa vain yhden tiedoston, joka täyttää koko (10 Mt) kriteerit.

Ilmeisesti meillä on vielä viimeinen osa tehtävän suorittamiseen - poista tiedosto. Kokovaatimuksen täyttävän tiedoston poistamiseksi muokkasin IF-lausetta tässä skriptissä esitetyllä tavalla…

|_+_|

Joten tässä on viimeinen komentosarja, joka poistaa määritettyä arvoa suuremmat kansiot

|_+_| Käytä komentosarjaa muuttamalla polkua F:ITGFiles Get-ChildItem -rivillä 1. Muuta myös poistettavan kansion koko - 10 (Mt) vaadittuun kokoon.

Kuinka käyttää PowerShellia jaetun verkkokansion poistamiseen

PowerShellin käyttö verkkokansioiden poistamiseen ei eroa paikallisten kansioiden poistamisesta. Ainoa ero on siinä, kuinka määrität verkkokansion.

Sen lisäksi, että määrität verkkokansion, sinulla on oltava myös oikeat käyttöoikeudet. Erityisesti sinulla on oltava Change Share -oikeus.

Lisäksi sinulla on oltava Muokkaa NTFS-suojauslupa.

Kun nämä käyttöoikeusvaatimukset täyttyvät, voit käyttää verkkokansiota Get-ChildItem-komennolla. Poista kansio sitten putkella Get-ChildItem-tuloste kohtaan Remove-Item.

Havainnollistaakseni PowerShellin käyttämistä verkkokansion poistamiseen käytän jaettua kansiota nimeltä TestShare. Kansio sijaitsee minun Windows 11 testi-PC nimeltä ITGWIN11BETA.

Listatakseni jaetun verkkokansion sisällön käytän Get-ChildItem-komentoa alla olevan kuvan mukaisesti...

|_+_|

Aivan kuten paikallinen kansio, komento luettelee kaikki kansiot ja alikansiot jaetussa verkkokansiossa.

Kuinka käyttää PowerShellia kansion tai tiedoston poistamiseen alkaen

Tästä pisteestä voit siirtää viimeisen komennon suoraan kohtaan Remove-Item. Vaihtoehtoisesti voit käyttää suodatinta ennen kuin liität sen Poista-kohteeseen.

Jos esimerkiksi haluat poistaa tietyn kansion, voit käyttää Suodattaa -parametri Get-ChildItem-kohdassa. Vaihtoehtoisesti voit ohjata Get-ChildItem kohtaan Where-Object ja käyttää Suodattaa parametri kohdassa Where-Object.

Lopuksi, jos haluat poistaa kohteen jaetusta verkkokansiosta, liitä tulos kohtaan Remove-Item.

Kuinka käyttää PowerShellia kansion tai tiedoston poistamiseen alkaen

Jos haluat poistaa kansioita tai tiedostoja, jotka alkavat tietyllä nimellä, voit käyttää Suodattaa parametri Get-ChildItem Cmdletissä listataksesi tiedostot. Kirjoita sitten tulos Poista-kohteeseen.

Vaihtoehtoisesti voit käyttää Poistaa() Menetelmä Get-ChildItemissä.

Tämän esimerkin havainnollistamiseksi poistan kaikki tiedostot ja kansiot, jotka alkavat kirjaimella f alla olevasta kuvakaappauksesta.

Kuten aiemmin mainitsin, ensimmäinen askel on käyttää Get-ChildItem Cmdlet-komentoa Filter-parametrin kanssa. Tässä on esimerkkikomento:

|_+_| Toinen vaihtoehto voisi olla ohjata Get-ChildItem kohtaan Where-Object ja suorittaa suodatus kohdassa Where-Object.

Komento listaa kaikki tiedostot, jotka alkavat kirjaimella f. Katso alla oleva kuvakaappaus:

PowerShellin käyttäminen tiedoston tai tiedoston poistamiseen ja sitten raportin kirjoittamiseen lokitiedostoon

Viimeinen vaihe kaikkien f-kirjaimella alkavien kansioiden ja tiedostojen poistamiseksi on putkien tulosteen syöttö

|_+_|

PowerShellin käyttäminen SoftwareDistribution-kansion poistamiseen

Kuten ehkä jo tiedät, Windows tallentaa ladatut päivitykset SoftwareDistribution-kansioon. Ihannetapauksessa sinun ei tarvitse poistaa tätä kansiota.

Jos Windows Update -tietokanta on kuitenkin vioittunut, yksi tapa korjata se on poistaa Software Distribution kansio. Ennen kuin teet sen, sinun on ensin pysäytettävä Windows Update.

Voit lopettaa Windows Update -palvelun suorittamalla PowerShellin järjestelmänvalvojana. Suorita sitten alla oleva komento:

|_+_| Jos et lopeta Windows Update -palvelua, et voi poistaa Software Distribution kansio

Seuraavaksi voit käyttää PowerShellia SoftwareDistribution-kansion poistamiseen suorittamalla alla olevat komennot:

|_+_|

Lopuksi voit luoda SoftwareDistribution-kansion uudelleen käynnistämällä Windows Update -palvelun uudelleen

|_+_|

Kuinka käyttää PowerShellia tiedoston tai kansion poistamiseen pakkaamisen jälkeen

Pakkaa tiedosto tai kansio käyttämällä Compress-Archive -komentoa alla olevan esimerkin mukaisesti:

|_+_| Muuta LiteralPath sen tiedoston tai kansion lähdepoluksi, jonka haluat pakata. Muuta myös DestinationPath polkuksi, johon haluat tallentaa pakatun tiedoston.

Kun olet pakannut tiedoston, poista se alla olevalla komennolla…

|_+_|

PowerShellin käyttäminen tiedoston tai tiedoston poistamiseen ja sitten raportin kirjoittamiseen lokitiedostoon

Jos haluat käyttää PowerShellia tiedoston tai kansion poistamiseen ja sitten raportoinnin toiminnoista lokitiedostoon, sinun on ensin määritettävä lokitiedostojen nimet.

Tässä esimerkissä haluan, että minulla on kaksi lokitiedostoa, 1 onnistumisen kirjaamiseen ja toinen virheiden kirjaamiseen.

Tykkään yleensä luoda lokitiedostoni päivämäärän perusteella. Tätä esimerkkiä varten luon ensin päivämääräleiman ja tallennan sen muuttujaan:

|_+_|

Sitten luon kaksi lokitiedostoa päivämääräleiman perusteella…

|_+_|

Yksi puuttuu - hakemistopolku lokitiedostojen tallentamiseen. Tämän bitin lisäämiseksi tallennan polun muuttujaan…

|_+_|

Lisää sitten polku yllä oleviin lokitiedostoihin…

|_+_|

Kaksi viimeistä komentoa luovat kaksi lokitiedostoa. Katso lisätietoja alla olevasta kuvakaappauksesta…

Nyt kun olen luonut lokitiedostomme, luon nyt PowerShell-komentosarjan, joka poistaa tietyn polun tiedostot ja kansiot. Kirjoita sitten raportit lokitiedostoihin.

Tässä esimerkissä haluan poistaa tiedostoja WindowsTemp-kansiosta. Ensimmäinen askel on tallentaa polku tähän kansioon muuttujaksi…

|_+_|

Sitten käytän Get-ChildItemiä kansion sisällön luetteloimiseen ja tulosteen poistamiseen.

Kuitenkin, jotta voin kaapata virheet, minun on liitettävä koko komento Try, Catch -kohtaan.

Tässä koko käsikirjoitus…

|_+_| Käytä komentosarjaa kopioimalla se PowerShell ISE:hen. Muuta sitten $Path-muuttuja sen kansion poluksi, jonka haluat poistaa. Muuta myös $LogPath kansion polkuun, johon haluat tallentaa lokitiedostosi.

Siinä se – kattava oppaamme PowerShellin käyttämiseen tiedostojen tai kansioiden poistamiseen! Toivottavasti oppaasta oli apua.

Jos koit sen hyödylliseksi, äänestä ystävällisesti Joo oliko tästä viestistä apua? alla. Vaihtoehtoisesti voit antaa yksityiskohtaista palautetta tämän sivun lopussa olevalla JÄTÄ VASTAUS -lomakkeella.

Lopuksi, jos haluat lisää esimerkkejä sisältäviä PowerShell-oppaita, käy Windows PowerShell -ohjesivullamme. Saatat myös auttaa ILMAISIA PowerShell-koulutusoppaitamme.