Jak korzystać z PowerShell, aby sprawdzić, czy plik istnieje?
W tej strefie S Victor uczy, jak korzystać z PowerShell, aby sprawdzić, czy plik istnieje. Przewodnik zawiera wiele przykładów użycia programu PowerShell do sprawdzenia, czy plik istnieje.
Aby użyć PowerShell do sprawdzenia, czy plik istnieje, użyj Ścieżka testowa Polecenie cmdlet. Możesz jednak wprowadzić ścieżkę pliku bezpośrednio do Ścieżka testowa polecenie lub zapisz plik w zmiennej. Następnie użyj zmiennej in Ścieżka testowa .
Przeglądaj tematy postów
- Jak korzystać z PowerShell, aby sprawdzić, czy plik istnieje bez zmiennej?
- Jak korzystać z PowerShell, aby sprawdzić, czy plik istnieje ze zmienną?
- Jak korzystać z PowerShell, aby sprawdzić, czy plik istnieje i go skopiować?
- Jak korzystać z PowerShell, aby sprawdzić, czy plik istnieje i go usunąć?
- Jak korzystać z PowerShell, aby sprawdzić, czy plik istnieje w przeciwnym razie Wyjście
- Jak korzystać z PowerShell, aby sprawdzić, czy plik istnieje i nie jest pusty?
- Jak korzystać z PowerShell, aby sprawdzić, czy plik istnieje w folderze?
- Jak korzystać z PowerShell, aby sprawdzić, czy plik istnieje na zdalnym komputerze?
- Referencje i dalsza lektura
Jak korzystać z PowerShell, aby sprawdzić, czy plik istnieje bez zmiennej?
W tej sekcji dowiesz się, jak biegać Ścieżka testowa polecenie bez zmiennej.
Możesz uruchomić Test-Path jako samodzielną komendę. Co więcej, możesz również połączyć polecenie z JEŚLI oświadczenie o wykonaniu dodatkowych zadań na podstawie wyniku Ścieżka testowa Komenda.
Jak uruchomić ścieżkę testową bezpośrednio bez zmiennej?
W tym podrozdziale dowiesz się, jak uruchomić sam ścieżkę testową (bez używania wyniku w JEŚLI oświadczenie).
Mam plik o nazwie process.txt w E: eports.
Aby sprawdzić, czy plik istnieje, wpisz poniższe polecenie w PowerShell i naciśnij enter
|_+_|
Kiedy nacisnąłem, PowerShell wrócił Prawdziwe , co oznacza, że plik istnieje.
Jeśli jednak uruchomię to samo polecenie dla pliku, który nie istnieje, PowerShell zwróci Fałszywy .
Jak połączyć ścieżkę testową i instrukcję IF bez zmiennej?
Jak wspomniałem wcześniej, po użyciu PowerShell Test-Path do sprawdzenia, czy plik istnieje, możesz użyć wyniku w JEŚLI oświadczenie do wykonywania zadań dodawania.
W tym przykładzie sprawdzę, czy E: eportsprocesses.txt istnieje i jeśli istnieje, skopiuję plik do C: eports. Oto skrypt, który wykona zadanie.
Zaleca się uruchomienie tego polecenia w PowerShell ISE |_+_|Oto wynik w PowerShell ISE i plik skopiowany do C: eports
Mogę ulepszyć skrypt, dodając dwie dodatkowe linijki.
|_+_|oraz….
|_+_| Pierwsze polecenie powyżej wyświetla komunikat, jeśli plik jest kopiowany. Drugi wyświetla komunikat, że plik nie istnieje.Oto zmodyfikowany skrypt…
|_+_|
Jak korzystać z PowerShell, aby sprawdzić, czy plik istnieje ze zmienną?
W ostatniej sekcji pokazałem, jak korzystać z PowerShell, aby sprawdzić, czy plik istnieje bez użycia zmiennych. W tej sekcji zapiszę wynik Test-Path w zmiennej. Następnie użyj zmiennej w JEŚLI oświadczenie.
W przykładzie w tej sekcji chcę sprawdzić, czy pierwszy-plik.txt istnieje na ścieżce pokazanej na obrazku poniżej. Następnie, jeśli istnieje, skopiuję plik do C:PS
W pierwszych krokach uruchomię poniższe polecenie:
|_+_|Ta komenda jest taka sama jak poprzednia z jedną różnicą – wynik komendy jest zapisywany w plik istnieje zmienny.
Jak korzystać z PowerShell, aby sprawdzić, czy plik istnieje i go skopiować?
Kiedy przedstawiłem tę sekcję, zapisałem dane wyjściowe z Ścieżka testowa polecenie do plik istnieje zmienny.
|_+_|W tym podrozdziale nauczę Cię, jak skopiować plik, jeśli istnieje. W tym celu przedstawię JEŚLI oświadczenie z Kopiuj element Komenda.
|_+_|Oto pełny skrypt z połączonymi poleceniami:
|_+_|A oto skrypt w PowerShell ISE.
Jak korzystać z PowerShell, aby sprawdzić, czy plik istnieje i go usunąć?
W ostatniej podsekcji zobaczyłeś, jak sprawdzić, czy plik istnieje i skopiować plik. Co zrobić, jeśli zamiast tego chcesz skopiować plik?
Jeśli chcesz usunąć plik zamiast go kopiować, zastąp Kopiuj element polecenie z Usuń przedmiot Komenda.
Oto zaktualizowany skrypt, który używa instrukcji PowerShell IF do sprawdzenia, czy plik istnieje. Następnie, jeśli istnieje, usuń go…
|_+_|Jak korzystać z PowerShell, aby sprawdzić, czy plik istnieje w przeciwnym razie Wyjście
W niektórych sytuacjach skryptów PowerShell możesz chcieć sprawdzić, czy plik istnieje. Następnie, jeśli istnieje, wykonaj określone zadanie – na przykład skopiuj lub usuń plik – w przeciwnym razie wyjdź ze skryptu.
Aby to osiągnąć, wystarczy dodać W przeciwnym razie blok Jeśli oświadczenie.
W ostatniej podsekcji użyłem tego skryptu do usunięcia pliku, jeśli istnieje.
|_+_|Jeśli chcę, aby skrypt został zamknięty, jeśli plik nie istnieje, zmodyfikuję skrypt, jak pokazano poniżej…
aby skorzystać z funkcji przywracania systemu, musisz|_+_|
Oto logika zmodyfikowanego skryptu…
Sprawdź, czy plik E: eportsfirst-file.txt istnieje. Jeśli istnieje, usuń plik.
Jeśli jednak plik nie istnieje, uruchom polecenie w W przeciwnym razie blok Jeśli oświadczenie. W tym przypadku polecenie w W przeciwnym razie pętla to słowo, Złamać .
Złamać mówi PowerShellowi, aby przestał przetwarzać skrypt. Możesz również dodać Złamać w bloku If instrukcji – pod poleceniem Remove-Item…
|_+_|Jak korzystać z PowerShell, aby sprawdzić, czy plik istnieje i nie jest pusty?
To kolejny warunek powszechny w skryptach PowerShell – sprawdzenie, czy plik istnieje i nie jest pusty. Może to dotyczyć plików dziennika.
Na przykład, jeśli masz aplikację, która tworzy i aktualizuje pliki dziennika, możesz napisać skrypt PowerShell, który sprawdza, czy nowe pliki dziennika są aktualizowane.
Idąc dalej, aby sprawdzić, czy plik istnieje, użyj Ścieżka testowa Komenda. Aby jednak sprawdzić, czy plik jest pusty, należy wprowadzić kolejne polecenie, Get-ChildItem .
W tym scenariuszu możesz użyć Get-ChildItem polecenie na dwa sposoby.
jeden , jeśli chcesz sprawdzić, czy pojedynczy plik jest pusty, możesz uruchomić Get-ChildItem polecenie, używając pełnej ścieżki pliku jako Ścieżka parametr. dwa , alternatywnie, jeśli chcesz sprawdzić kilka plików w folderze, użyj ścieżki folderu jako Ścieżka parametr.
W tej sekcji podam przykład, który sprawdza, czy określony plik istnieje i jest pusty. Omówię drugą opcję w Jak korzystać z PowerShell, aby sprawdzić, czy plik istnieje w folderze? w dalszej części tego przewodnika.
W tym przykładzie chcę sprawdzić, czy plik, pierwszy-plik.txt i jeśli jest pusty.
Jak wspomniałem wcześniej, pierwszym krokiem jest uruchomienie Get-ChildItem polecenie, używając pełnej ścieżki pliku jako Ścieżka parametr. Aby rozpocząć, uruchom poniższe polecenie…
|_+_|Oto wynik polecenia. Z wyniku polecenia widać, że plik ma właściwość o nazwie Długość .
Skutecznie Długość właściwość pliku pokazuje rozmiar pliku. Co więcej, jeśli plik jest pusty, Długość będzie wynosić zero (0).
Tak więc, aby użyć PowerShell do sprawdzenia, czy nie jest pusty, sprawdzimy, czy Długość NIE jest zerem (0).
Aby to osiągnąć, zmodyfikuję ostatnie polecenie, jak pokazano poniżej…
|_+_|Oto wynik polecenia w PowerShell. W tym przypadku, ponieważ rozmiar mojego pliku to 0 (pusty), polecenie zwróciło fałszywy .
Oznacza to, że ten plik jest pusty.
Ale jak dołączyć bit, który sprawdza, czy plik istnieje? Cieszę się, że zapytałeś!
Aby wprowadzić logikę, która używa PowerShell do sprawdzania, czy plik istnieje, a także do sprawdzenia, czy plik NIE jest pusty, połączę części naszego poprzedniego skryptu i Get-ChildItem polecenie powyżej.
Oto mój zmodyfikowany skrypt…
|_+_|W tej zmodyfikowanej wersji skryptu dokonałem następujących zmian…
- W wierszu 2 zapisałem Get-ChildItem polecenie sprawdzające, czy plik jest pusty – w zmiennej o nazwie $checkiffileispusty .
- Następnie w wierszu 3 dodałem kolejny warunek do Jeśli oświadczenie. Warunek części Jeśli instrukcja została zaktualizowana do If (($fileexists -eq $True) -and ($checkiffileisempty -eq $False)).
Ten warunek sprawdza, czy to, co jest zapisane w $fileexists jest Prawdziwe (plik istnieje). Ponadto sprawdza, czy to, co jest zapisane w $checkiffileisempt jest Fałszywy (plik jest pusty).
Skutecznie PowerShell sprawdza, czy Ścieżka testowa polecenie, które sprawdza, czy ścieżka do pliku istnieje, to Prawdziwe . Dodatkowo sprawdza również, czy Get-ChildItem polecenie, które sprawdza, czy plik NIE jest pusty, to Fałszywy (co oznacza, że plik jest pusty) - Na koniec, jeśli oba warunki są spełnione, w wierszu 4 PowerShell wykona polecenie w nawiasie {} instrukcji If.
W tym przykładzie mam to polecenie w nawiasie {} instrukcji If.
Polecenie dodaje tekst w Wartość parametr Zawartość zestawu Komenda.
Aby sprawdzić, czy skrypt działa, skopiuj go do PowerShell ISE i uruchom skrypt…
Po uruchomieniu skryptu plik, pierwszy-plik.txt – który wcześniej był pusty – teraz ma w sobie jakieś wartości. Dodatkowo rozmiar pliku nie wynosi już zero (0)!
Jak korzystać z PowerShell, aby sprawdzić, czy plik istnieje w folderze?
Jak dotąd w tym przewodniku omówiono wiele scenariuszy używania programu PowerShell do sprawdzania, czy plik istnieje.
W tej sekcji chcę zagłębić się w foldery. W szczególności dowiesz się, jak sprawdzić, czy plik istnieje w bieżącym folderze lub we wszystkich podfolderach.
Dodatkowo dowiesz się, jak używać PowerShell do sprawdzania, czy plik istnieje w wielu folderach. Na koniec pokażę, jak użyć symbolu wieloznacznego, aby sprawdzić, czy plik istnieje.
Jak korzystać z PowerShell, aby sprawdzić, czy plik istnieje w bieżącym folderze?
W tym pierwszym przykładzie dowiesz się, jak sprawdzić, czy plik istnieje w bieżącym folderze – z wyłączeniem wszystkich podfolderów.
W tym przykładzie chcę sprawdzić, czy w folderze E: eports istnieją pliki z rozszerzeniem .log. Jednak chcę wykluczyć wszystkie podfoldery.
Pierwszym krokiem jest uruchomienie Get-ChildItem Komenda. Następnie przekieruj wyjście do Gdzie-obiekt i filtruj według Kontener PSI własność.
ten Kontener PSI właściwość to właściwość, która definiuje foldery lub katalogi. w Gdzie-obiekt polecenie, określiłem $_.PSIsContainer -ne $true. To polecenie po prostu mówi Nie zwracaj żadnego elementu, jeśli jest Kontener PSI właściwość to prawda. To zwróci tylko pliki.Oto polecenie…
|_+_|A oto wynik w PowerShell…
Ostatnim krokiem jest zwrócenie pełnej ścieżki wszystkich plików z rozszerzeniem .log w bieżącym folderze.
Oto polecenie…
|_+_|A wynik…
Od tego momentu, jeśli chcesz wykonać dalsze zadania na plikach, możesz przekazać wynik ostatniego wyniku do a Dla każdego pętla. Następnie w ciągu Dla każdego pętla, możesz uruchomić dodatkowe polecenia.Jak korzystać z PowerShell, aby sprawdzić, czy plik istnieje w podfolderach?
Jeśli chcesz sprawdzić, czy określony plik lub pliki istnieją we wszystkich podfolderach, a nie w bieżącym folderze, musisz wprowadzić niewielkie zmiany w Get-ChildItem Komenda.
W szczególności, gdy rura Get-ChildItem polecenie, do Gdzie-obiekt , filtrujesz Gdzie-obiekt aby zwrócić tylko foldery.
|_+_|Polecenie zwraca pełną ścieżkę do wszystkich podfolderów w określonym folderze…
W następnym kroku musisz użyć Dla każdego instrukcja do iteracji przez wszystkie foldery zwrócone przez ostatnie polecenie. Następnie w ciągu Dla każdego oświadczenie, uruchom kolejne Get-ChildItem polecenie w każdym podfolderze.
Istnieją trzy warianty Dla każdego ale w tym przykładzie użyję Dla każdego Polecenie cmdlet -Object.
|_+_|Polecenie wyświetla wszystkie pliki dziennika w podfolderach…
ROMy dla Nexusa 5
Jak korzystać z PowerShell, aby sprawdzić, czy plik istnieje w bieżącym folderze i wszystkich podfolderach?
W ostatnich 2 podrozdziałach użyłem Kontener PSI właściwość, aby odfiltrować podfoldery lub zwrócić tylko podfoldery. W tym przykładzie wyeliminuję Kontener PSI własność.
Przedstawię jednak Get-ChildItem parametr polecenia, zwany Rekurencja . ten Rekurencja siły parametrów Get-ChildItem aby sprawdzić określony folder i wszystkie jego podfoldery.
Oto zmodyfikowany skrypt.
|_+_|ten Rekurencja parametr jest wprowadzony w pierwszym Get-ChildItem Komenda. W drugim nie jest to wymagane Get-ChildItem polecenie (w obrębie Dla każdego obiektu blok).
Oto wynik polecenia. Tym razem raport zawiera wszystkie pliki dziennika w górnym folderze i wszystkie jego podfoldery.
Jak korzystać z PowerShell, aby sprawdzić, czy plik istnieje na zdalnym komputerze?
Jeśli chcesz sprawdzić, czy plik istnieje na zdalnym komputerze, możesz zastosować tę samą zasadę omówioną we wszystkich przykładach w tym przewodniku.
Musisz jednak wprowadzić nowe polecenie o nazwie Wywołaj polecenie . Następnie w ciągu Wywołaj polecenie polecenie, użyj jego Blok skryptu parametr, aby określić jedno z poleceń, które omówiliśmy wcześniej w tym przewodniku.
Inną ważną rzeczą, o której należy pamiętać, jest to, że może być konieczne określenie nazwy użytkownika i hasła dla konta z uprawnieniami do łączenia się z komputerem zdalnym.
Dodatkowo wskazane konto powinno mieć uprawnienia do uruchomienia polecenia w Blok skryptu parametr – na zdalnym komputerze.
Na koniec użyj Nazwa komputera parametr, aby określić nazwę komputera zdalnego.
W celach informacyjnych, oto ogólna składnia Wywołaj polecenie Komenda.
|_+_|Aby przeczytać więcej o Wywołaj polecenie polecenia, zobacz Odnośniki i dalsze czytanie na końcu tego przewodnika.
Jeśli mam nadzieję, że udało mi się skutecznie nauczyć Cię korzystania z PowerShell, aby sprawdzić, czy plik istnieje!
Mam również nadzieję, że strefa S okazała się pomocna. Jeśli uznałeś to za pomocne, uprzejmie zagłosuj tak do Czy ten post był pomocny w poniższym pytaniu.
Alternatywnie możesz zadać pytanie, zostawić komentarz lub przekazać opinię za pomocą formularza Zostaw odpowiedź, który znajduje się na końcu tej strony.
Na koniec, aby uzyskać więcej informacji o strefach E-mail tech S, odwiedź naszą stronę z instrukcjami dotyczącymi programu Windows PowerShell. Bardzo pomocna może być również nasza strona Praca ze strony głównej.
Referencje i dalsza lektura
- Wywołaj polecenie
- Powershell, jeśli wyjaśniono inaczej: składnia i przykłady
- Get-ChildItem
- Ścieżka testowa


