W ten sposób możesz wstępnie sprawdzić istnienie pliku i uniknąć „nie znaleziono pliku„Błąd w PowerShell. PowerShell zapewnia cztery różne sposoby sprawdzenia, czy ścieżka istnieje, czy nie. Metody te obejmują Ścieżka testowa, Get-ChildItem, Zdobądź przedmiot, I System.Io.Plik istnieje metoda.
W tym artykule omówimy cztery różne metody zastosowane w PowerShell, aby sprawdzić, czy plik istnieje. Wyniki artykułu to:
Metoda 1: Jak sprawdzić istnienie pliku za pomocą cmdlet CMDLET „PowerShell”?
Obecność dowolnego pliku można sprawdzić za pomocą „Ścieżka testowa”Cmdlet. To polecenie można wykorzystać albo za pomocą Absolutna ścieżka (kompletna ścieżka pliku) lub a względna ścieżka dostępu (Ścieżka pliku zgodnie z obecnym katalogiem roboczym). Należy zauważyć, że Ścieżka testowa zwraca dane wyjściowe w PRAWDA Lub FAŁSZ tylko.
CMDLET ścieżki testowej ze ścieżką względną
Poniższe polecenie zostanie uruchomione, aby sprawdzić „plik.RTF”W obecnym katalogu roboczym. Parametr „LEAF PATHTYPE”Tutaj odnosi się do pliku, a nie Folder/Directory.
Plik ścieżki testowej ”.rtf "-pathtype liść
Zwracane dane wyjściowe to Fałsz, który stwierdza, że plik nie istnieje w obecnym katalogu.
W następującym Ścieżka testowa polecenie używamy wieloznacznej karty (*) z rozszerzeniem pliku (.RTF) Aby sprawdzić, czy „.RTF”Pliki istnieją, czy nie.
Ścieżka testowa ”*.rtf "-pathtype liść
Można zauważyć, że pliki z „.RTF”Rozszerzenie jest obecne w Test informator.
CMDLET ścieżki testowej z bezwzględną ścieżką
Jeśli jesteś w katalogu głównym lub gdzie indziej, użycie ścieżki bezwzględnej może być bardzo przydatne. Użyj następujących (i.mi. Ścieżka testowa -path „”) polecenie, aby dowiedzieć się, czy „.RTF”Pliki istnieją w Test folder czy nie.
TEST -PATH -PATH "C: \ Users \ PowerShell \ Test \*.rtf "-pathtype liść
W danym fragmencie pokazano, że „.Pliki RTF ”są dostępne na konkretnej ścieżce.
Metoda 2: Jak sprawdzić, czy plik istnieje za pomocą CMDLET PowerShell „Get-ChildItem”?
PowerShell Get-ChildItem można również użyć do sprawdzenia dostępności określonych plików. W poniższym przykładzie zobaczymy praktyczną demonstrację Get-ChildItem CMDLET. Załóżmy, że chcemy wiedzieć o obecności test.tekst plik. Get-ChildItem Polecenie, które jest używane, jest następujące.
Get -childitem -path c: \ Users \ PowerShell \ test \ test.tekst
Jak można zauważyć z powyższego przesłania, że konkretna ścieżka nie zawiera test.tekst plik.
Oprócz tego możemy również użyć dzika karta (*) z rozszerzeniem pliku, aby sprawdzić, czy istnieje jakikolwiek plik z rozszerzeniem. Oto polecenie sprawdzenia istnienia plików za pomocą „.tekst" rozszerzenie.
Get -childitem -path c: \ Users \ PowerShell \ test \*.tekst
Zgodnie z powyższym zrzutem ekranu wyjściowego są dwa „tekst”Pliki dostępne w katalogu testowym.
Metoda 3: Jak sprawdzić, czy plik istnieje za pomocą CMDLET „GET-ITEM” PowerShell?
PowerShell obsługuje polecenie GET-ITEM do sprawdzania plików w katalogu. Poniższy przykład pokaże praktyczne wdrożenie Zdobądź przedmiot Komenda. Na przykład dostępność plik.jpg zostanie sprawdzony za pomocą następującego polecenia.
Get-Item C: \ Users \ PowerShell \ test \ plik.jpg
Wyjście pokazuje, że nie ma pliku o nazwie „plik.jpg". Ale wieloznaczna karta może być używana, jeśli nie pamiętasz dokładnej nazwy pliku.
Get-Item C: \ Users \ PowerShell \ Test \*.jpg
Można to zauważyć na wyżej zawartym zrzucie ekranu, że są dwa Jpg pliki w folderze testowym
Metoda 4: Jak sprawdzić plik za pośrednictwem „System.Io.Plik :: istnieje ”cmdlet?
[System.Io.Plik istnieje jest również jedną z metod stosowanych w PowerShell do zarządzania różnymi operacjami (tworzenie, usunięcie, kopiowanie, przeprowadzka) na plikach. Rodzaj powrotu tej metody to boolean (prawda/fałsz).
W poleceniu przykładowym system.Io.Metoda pliku jest stosowana do pliku o nazwie „plik5.Doc„Aby sprawdzić jego istnienie za pomocą bezwzględnej ścieżki pliku.
[System.Io.Plik] :: „C: \ Users \ PowerShell \ Test \ File5.Doc ”)
Jak widzisz, plik5.Doc istnieje w konkretnym folderze.
Notatka:
Podobnie jak inne metody, takie jak ścieżka testowa, get-childitem i get-item, wieloznaczna karta (*) nie działa w [System.Io.Plik istnieje, Przykład podano poniżej w celach informacyjnych.
[System.Io.Plik] :: „C: \ Users \ PowerShell \ Test \*.Doc ”)
Jak już wiemy, że istnieje plik5.Doc w folderze testowym, ale System.Io.Plik istnieje Zignorowałem wieloznaczną kartę i zwróciłem dane wyjściowe jako fałszywe, co oznacza, że nie ma „.Doc”Plik w konkretnym folderze.
Świetnie! Nauczyłeś się sprawdzać, czy plik istnieje, czy nie.
Wniosek
PowerShell można użyć do sprawdzenia, czy plik konkretnej ścieżki istnieje. W tym celu PowerShell zapewnia cztery wbudowane metody, w tym Ścieżka testowa, Get-ChildItem, Zdobądź przedmiot, I [System.Io.Plik istnieje Aby sprawdzić dostępność pliku. W tym artykule wszystkie te metody są omawiane i wyjaśnione krótko, aby sprawdzić istnienie pliku.