Come usare PowerShell per verificare se esiste un file?

Come usare PowerShell per verificare se esiste un file?
La creazione e la cancellazione dei file sono una pratica comune nella programmazione del computer, specialmente nei linguaggi di scripting. Prima di creare o eseguire qualsiasi operazione su un file, l'esistenza del file deve essere garantita.

In questo modo, puoi pre-controllare l'esistenza del file e evitare il "file non trovato"Errore in PowerShell. PowerShell fornisce quattro modi diversi per verificare se il percorso esiste o meno. Questi metodi includono Percorso di prova, Get-childitem, Get-item, E Sistema.Io.Il file esiste metodo.

In questo articolo, tratteremo i quattro diversi metodi utilizzati in PowerShell per verificare se esiste un file. I risultati dell'articolo sono:

  • Come utilizzare il cmdlet per il percorso di prova?
  • Come usare il cmdlet get-childitem?
  • Come usare il cmdlet get-elem?
  • Come utilizzare il sistema.Io.Metodo del file?

Metodo 1: come controllare l'esistenza di un file utilizzando il cmdlet PowerShell "Test-Path"?

La presenza di qualsiasi file può essere controllata tramite l'uso del "Percorso di prova"Cmdlet. Questo comando può essere utilizzato usando un percorso assoluto (percorso completo del file) o a percorso relativo (percorso del file secondo l'attuale directory di lavoro). Va notato che il Percorso di prova restituisce l'output in VERO O Falso soltanto.

Cmdlet test-percorso con percorso relativo
Il comando seguente verrà eseguito per controllare il "file.rtf"All'interno dell'attuale directory di lavoro. Il parametro "Foglia di pathype"Qui si riferisce al file piuttosto che al cartella/directory.

File Test-Path ".RTF "-PathType Leaf

L'output restituito è falso, che afferma che il file non esiste nella presente directory.

Nel seguente Percorso di prova comando stiamo usando il jolly (*) con estensione del file (.RTF) Per verificare se il ".rtf"Esistono file o no.

Percorso test "*.RTF "-PathType Leaf

Si può notare che i file con il ".rtf"L'estensione è presente nel Test directory.

Cmdlet test-percorso con percorso assoluto
Se ti trovi nella directory della radice o altrove, l'uso del percorso assoluto può essere molto utile. Usa il seguente (i.e. Test -path -path "") comando di scoprire se il ".rtf"I file esistono in Test cartella o no.

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

È mostrato nel frammento di un po 'di testa che il ".I file RTF ”sono disponibili sul percorso particolare.

Metodo 2: come verificare se esiste un file utilizzando PowerShell "Get-Childitem" Cmdlet?

Powershell Get-childitem può anche essere utilizzato per verificare la disponibilità di un determinato file / i. Nell'esempio seguente vedremo la dimostrazione pratica del Get-childitem cmdlet. Supponiamo di voler sapere sulla presenza del test.TXT file. IL Get-childitem Il comando che viene utilizzato è il seguente.

Get -Childitem -Path C: \ Users \ PowerShell \ Test \ Test.TXT

Come puoi osservare dal messaggio sopra che il percorso particolare non contiene il test.TXT file.

Oltre a questo, possiamo anche usare il carta jolly (*) con l'estensione del file da verificare se esiste un file con l'estensione. Ecco il comando per controllare l'esistenza di file con ".TXT"Estensione.

Get -Childitem -Path C: \ Users \ PowerShell \ Test \*.TXT

Secondo lo screenshot di output sopra, ce ne sono due "testo"File disponibili nella directory di test.

Metodo 3: come verificare se esiste un file utilizzando il cmdlet PowerShell "Get-Etim"?

PowerShell supporta il comando get-elem per il controllo dei file nella directory. L'esempio seguente dimostrerà l'implementazione pratica del Get-item comando. Ad esempio, la disponibilità del file.jpg verrà controllato con il seguente comando.

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

L'output mostra che non esiste un file esistente con il nome "file.jpg". Ma il jolly può essere usato se non ricordi il nome esatto del file.

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

Si può notare nello screenshot sopra attaccato, che ce ne sono due Jpg file nella cartella di prova

Metodo 4: come controllare il file tramite "Sistema.Io.File :: esiste "cmdlet?

[Sistema.Io.Il file esiste è anche uno dei metodi utilizzati in PowerShell per gestire varie operazioni (creazione, eliminazione, copia, spostamento) sui file. Il tipo di ritorno di questo metodo è booleano (vero/falso).

Nel comando di esempio, il sistema.Io.Il metodo del file viene applicato a un file denominato "file5.doc"Per verificare la sua esistenza usando il percorso assoluto del file.

[Sistema.Io.File] :: esiste ("C: \ Users \ PowerShell \ Test \ File5.Doc ")

Come potete vedere, file5.doc esiste nella cartella particolare.

Nota:
Come altri metodi come Test-Path, Get-Childitem e Get-Etim, The Wildcard (*) non funziona in [Sistema.Io.Il file esiste, L'esempio è riportato di seguito per riferimento.

[Sistema.Io.File] :: esiste ("C: \ Users \ PowerShell \ Test \*.Doc ")

Come già sappiamo che esiste un file5.doc nella cartella di prova ma il Sistema.Io.Il file esiste ignorato il jolly e restituito l'output come falso, il che significa che non c'è ".doc"File nella cartella particolare.

Grande! Hai imparato a verificare se il file esiste o no.

Conclusione

PowerShell può essere utilizzato per verificare se il file del percorso particolare esiste o no. A tale scopo, PowerShell fornisce quattro metodi integrati, inclusi Percorso di prova, Get-childitem, Get-item, E [Sistema.Io.Il file esiste Per verificare la disponibilità del file. In questo articolo, tutti questi metodi vengono discussi e spiegati brevemente per verificare l'esistenza del file.