Powershellissä kaikkien hakemistossa olevien tiedostojen listaaminen on erittäin helppo tehtävä. Meidän tarvitsee vain käyttää seuraavaa komentoa vain listaamaan kaikki tiedostot vain hakemistossa.

Sisällysluettelo:

  • PowerShell List files in a Directory.
  • gci alias for get-chiltitem.
  • dir alias for get-childitem.
  • PowerShell listaa vain hakemistot.
  • PowerShell listaa vain hakemistot käyttäen lyhyempää komentosarjaa.
  • PowerShell listaa tiedostot rekursiivisesti.
  • PowerShell listaa hakemistot rekursiivisesti.
  • Luettele tietyn tyyppisen laajennuksen tiedostot.
  • PowerShell listaa tietyn laajennustyypin tiedostot rekursiivisesti.
  • Luettele tiedostot syvyyteen asti alihakemistoissa.
  • Verdict.

People also search for:

Working Snippet for Start-Job PowerShell 2020

gci -file

Ylläoleva skripti näytetään suoritetaan ja tuloste näkyy alla olevassa kuvassa.

hae kaikki hakemistossa olevat tiedostot

Sitä on monia variaatioita ja käymme tässä postauksessa läpi aika monta niistä. Näemme, miten gci-peitenimi syntyy, ja näemme myös joitakin erilaisia peitenimiä. On tapoja saada vain hakemistojen sisällä olevat hakemistot ja myös tiettyyn syvyyteen asti.

Käymme läpi mahdollisimman monta ominaisuutta hakemistossa olevien tiedostojen listaamisesta.

PowerShell List Files in a Directory:

PowerShellin kehittäjät tekivät tiedostojen ja kansioiden käsittelemisen PowerShellissä perusteettoman helpoksi. Toisin kuin perinteisessä skriptauksessa, PowerShellissä meidän ei tarvitse miettiä liikaa skriptin jäsentämistä. Tämä johtuu siitä, että PowerShell on objektipohjainen syöttö- ja tulostustapa. Jos joku hallitsee hyvin oliopohjaisen ohjelmointikielen, komentosarjojen tekeminen PowerShellillä tulee hänelle luontevasti.

Aluksi saadaksemme vain hakemistossa olevat tiedostot, voimme käyttää get-childitem-cmdletiä. Lisäämme cmdletiin -file-kytkennän, jotta voimme hakea vain tietyssä hakemistossa olevat tiedostot.

get-childitem -file

get child item file

Tämä ratkaisee ongelmamme. Mutta voimmeko tehdä skriptistä tehokkaamman? Itse asiassa voimme.

gci Alias for Get-ChildItem:

Get-childitem-cmdletillä on alias nimeltä gci. Se vähentää koko skriptin kirjoittamisen vaivaa. Alla oleva skripti tuottaa tarvitsemamme tulosteet.

gci -file

gci -file

dir alias for Get-ChildItem:

Get-childitem-komentokirjeellä on myös melko suosittu alias. Se voidaan korvata dir:llä, jolloin saadaan samat tulokset.

dir -file

Ylläoleva skripti tuottaa tuloksen seuraavasti.

dir file

PowerShell listaa vain hakemistot:

Olemme oppineet listaamaan vain tietyssä hakemistossa olevat tiedostot. Nyt näemme, miten luetteloidaan vain hakemiston hakemistot. Voimme tehdä sen kytkimen -directory avulla kytkimen -file sijaan.

gci -directory

gci -directory

PowerShell list only directories shorter script:

Voimme yksinkertaistaa skriptiä kytkimen -di avulla. Se on käytettävissä, koska se riittää tunnistamaan -directory-kytkimen ilman epäselvyyksiä. Käytä seuraavaa skriptiä listataksesi vain hakemistossa olevat hakemistot.

gci -di

Tällöin käyttäjät saavat seuraavan tulosteen.

gci -di

PowerShell listaa vain kaikkien kansioiden tai hakemistojen tiedostot:

Nyt kun olemme nähneet, miten listataan vain tiedostot tai vain kansiot, emme ole vielä oppineet, miten listataan vain hakemistossa olevat tiedostot. Voimme tehdä juuri tämän -recurse-kytkimen avulla. Skripti on annettu alla.

gci -file -recurse

gci -file -recurse

gci -file -recurse

Haetaan tiedostot rekursiivisesti

Tämä skripti on selvästikin loistava skripti, jonka avulla voidaan saada näkyviin vain hakemistossa tai kansiossa olevat tiedostot.

PowerShell listaa vain kansiot kaikissa kansioissa tai hakemistoissa:

Voidaan listata vain hakemistossa olevat tiedostot ja myös sen jälkeinen alihakemisto seuraavan skriptin avulla.

gci -di -recurse

rekursiiviset hakemistot

PowerShell listaa tiedostopäätteeseen kuuluvat tiedostot:

Voimme halutessamme listata hakemistosta vain tietyn tyyppisiä tiedostoja. Voimme listata hakemistosta vain PDF-tiedostot seuraavan skriptin avulla.

gci -file *.pdf

vain pdf:t

PowerShell listaa päätepäätteen tiedostot rekursiivisesti:

Voimmekin viedä tiedostojen luettelemisen uudelle tasolle luettelemalla vain päätepäätteen tiedostot rekursiivisesti. Alla oleva esimerkki havainnollistaa juuri tätä.

gci -file -r *.pdf

tiedostotyyppi rekursiivisesti

Huomaa, kuinka käytämme -r-kytkintä -recurse-kytkimen sijasta, sillä se vähentää tarvittavaa kirjoittamista.

PowerShell listaa laajennuksen tiedostot rekursiivisesti syvyydellä:

Voimme listata kaikki hakemistossa ja sen jälkeisessä alihakemistossa olevat tiedostot käyttämällä -recurse-kytkintä. Voimme myös rajata hakua tiedostopäätteen avulla. Mutta entä jos emme halua etsiä kansioista, jotka ovat syvemmällä kuin 2 alihakemistoa. Voimme käyttää -depth-kytkintä. Alla oleva skripti käyttää sitä.

gci -file -d 1 -r *.pdf

with depth

Ylläoleva skripti hakee get-childitem-tyypin tiedostot, se hakee korkeintaan 1:een alihakemistoon asti, Se tekee sen rekursiivisesti ja lopuksi se varmistaa, että se hakee vain pdf-tiedostoja.

Verdict:

Tässä viestissä opimme PowerShell List all files in a Directory. Teimme tämän käyttämällä get-childitem-aliasanaa nimeltä gci. gci yhdistettynä -file-kytkimeen tekee sen, mitä tarvitsemme. Haimme myös tietyn laajennuksen tiedostot. Haimme tietyn laajennuksen tiedostot rekursiivisesti ja myös rajoitettuun syvyyteen asti.

Jos haluat lisää mahtavia viestejä, pysy kuulolla TecKangaroon.

Vastaa

Sähköpostiosoitettasi ei julkaista.