Hvordan bruke PowerShell for å sjekke om det eksisterer en fil?

Hvordan bruke PowerShell for å sjekke om det eksisterer en fil?
Opprettelse og sletting av filer er en vanlig praksis innen dataprogrammering, spesielt i skriptspråk. Før du oppretter eller gjør noen operasjon på en fil, må eksistensen av filen sikres.

Ved å gjøre det, kan du forhåndsjekke eksistensen av filen og kan unngå "fil ikke funnet”Feil i PowerShell. PowerShell gir fire forskjellige måter å sjekke om banen eksisterer eller ikke. Disse metodene inkluderer Test-bane, Get-Childitem, Get-element, og System.Io.Filen eksisterer metode.

I denne artikkelen vil vi dekke de fire forskjellige metodene som brukes i PowerShell for å sjekke om det eksisterer en fil. Resultatene av artikkelen er:

  • Hvordan bruke teststien Cmdlet?
  • Hvordan bruke get-childItem cmdlet?
  • Hvordan du bruker get-element cmdlet?
  • Hvordan bruke systemet.Io.Filmetode?

Metode 1: Hvordan sjekke eksistensen av en fil ved hjelp av PowerShell “Test-Path” cmdlet?

Tilstedeværelsen av en hvilken som helst fil kan kontrolleres ved bruk av "Test-bane”Cmdlet. Denne kommandoen kan brukes enten ved hjelp av en Absolutt sti (fullstendig bane for filen) eller en relativ sti (banen til filen i henhold til den nåværende arbeidskatalogen). Det skal bemerkes at Test-bane Returnerer utgangen i ekte eller Falsk bare.

Test-bane cmdlet med relativ bane
Kommandoen nedenfor blir kjørt for å sjekke “fil.rtf”Innenfor den nåværende arbeidskatalogen. Parameteren “PATHTYPE LEAF”Her refererer til filen i stedet for mappe/katalog.

Test-bane "-fil.RTF "-PathType Leaf

Den returnerte utdata er falsk, som sier at filen ikke eksisterer i den nåværende katalogen.

I de neste Test-bane Kommando vi bruker jokertegnet (*) med filforlengelse (.RTF) for å sjekke om “.rtf”Filer eksisterer eller ikke.

Test-bane "*.RTF "-PathType Leaf

Det kan legges merke til at filene med ".rtf”Utvidelse er til stede i Test katalog.

Test-bane cmdlet med absolutt sti
Hvis du er i rotkatalogen eller andre steder, kan bruken av den absolutte banen være veldig nyttig. Bruk følgende (i.e. Test -bane -sti “”) kommando for å finne ut om ".rtf”Filer eksisterer i Test mappe eller ikke.

Test -Path -Path "C: \ Brukere \ PowerShell \ Test \*.RTF "-PathType Leaf

Det vises i det gitt overnattet at ".RTF ”-filer er tilgjengelige på den aktuelle banen.

Metode 2: Hvordan sjekke om en fil eksisterer ved hjelp av PowerShell “Get-ChildItem” cmdlet?

Kraftskall Get-Childitem Kan også brukes til å sjekke tilgjengeligheten til en bestemt fil (er). I eksemplet nedenfor vil vi se den praktiske demonstrasjonen av Get-Childitem cmdlet. Anta at vi vil vite om tilstedeværelsen av test.tekst fil. De Get-Childitem Kommando som brukes er som følger.

Get -Childitem -Path C: \ Brukere \ PowerShell \ Test \ Test.tekst

Som du kan observere fra ovennevnte melding om at den aktuelle banen ikke inneholder test.tekst fil.

Bortsett fra dette kan vi også bruke jokertegn (*) med filtyvning for å sjekke om det eksisterer noen fil med utvidelsen. Her er kommandoen for å sjekke eksistensen av filer med ".tekst" Utvidelse.

Get -Childitem -Path C: \ Brukere \ PowerShell \ Test \*.tekst

I henhold til ovennevnte skjermbilde er det to “tekst”Filer tilgjengelig i testkatalogen.

Metode 3: Hvordan sjekke om en fil eksisterer ved hjelp av PowerShell “Get-Item” cmdlet?

PowerShell støtter kommandoen Get-Item for å sjekke filer i katalogen. Følgende eksempel vil demonstrere den praktiske implementeringen av Get-element kommando. For eksempel tilgjengeligheten av fil.jpg vil bli sjekket med følgende kommando.

Get-Item C: \ Brukere \ PowerShell \ Test \ File.jpg

Utgangen viser at det ikke er noen fil som eksisterer med navnet "fil.jpg”. Men jokertegnet kan brukes hvis du ikke husker det nøyaktige navnet på filen.

Get-Item C: \ Brukere \ PowerShell \ Test \*.jpg

Det kan legges merke til i ovennevnte skjermbilde, at det er to Jpg Filer i testmappen

Metode 4: Hvordan sjekke filen gjennom “System.Io.Fil :: eksisterer ”cmdlet?

[System.Io.Filen eksisterer er også en av metodene som brukes i PowerShell for å administrere forskjellige operasjoner (oppretting, sletting, kopiering, bevegelse) på filer. Returtypen til denne metoden er boolsk (sann/falsk).

I eksemplet kommandoen, systemet.Io.Filmetode brukes på en fil som heter “Fil5.Doc”For å sjekke dens eksistens ved å bruke den absolutte banen til filen.

[System.Io.Fil] :: eksisterer ("C: \ Brukere \ PowerShell \ Test \ File5.Doc ")

Som du kan se, Fil5.Doc eksisterer i den aktuelle mappen.

Merk:
Som andre metoder som teststi, get-childItem og get-artem, jokertegnet (*) fungerer ikke i [System.Io.Filen eksisterer, Eksemplet er gitt nedenfor for referanse.

[System.Io.Fil] :: eksisterer ("C: \ brukere \ PowerShell \ Test \*.Doc ")

Som vi allerede vet at det er en Fil5.Doc i testmappen men System.Io.Filen eksisterer ignorerte jokertegnet og returnerte utgangen som usant, noe som betyr at det ikke er ".Doc”Fil i den aktuelle mappen.

Flott! Du har lært å sjekke om filen eksisterer eller ikke.

Konklusjon

PowerShell kan brukes til å sjekke om filen til den aktuelle banen eksisterer eller ikke. For dette formålet gir PowerShell fire innebygde metoder inkludert Test-bane, Get-Childitem, Get-element, og [System.Io.Filen eksisterer For å sjekke tilgjengeligheten av filen. I denne artikkelen blir alle disse metodene diskutert og forklart kort for å sjekke eksistensen av filen.