PowerShell Utwórz folder, jeśli nie istnieje

Powershell Utworz Folder Jesli Nie Istnieje



Czy masz kilka folderów i chcesz utworzyć nowy, ale nie wiesz, czy ten folder już istnieje, czy nie? Ten proces może zająć dużo czasu, ponieważ najpierw wyszukasz ten folder, niezależnie od tego, czy istnieje, czy nie, a następnie utworzysz go, jeśli nie istnieje.

Co zaskakujące, PowerShell może zaoszczędzić dużo czasu i wysiłku, jeśli znasz trochę skryptów.







Trzymać się! Aby wykonać to zadanie, nie musisz uczyć się całego pisania skryptów. Ponieważ przedstawiłem pięć metod tworzenia folderu, jeśli nie istnieje, wraz z odpowiednim wyjaśnieniem każdego użytego w nim polecenia.



Szybki zarys:



Zanim przejdziemy do skryptów, dowiedzmy się, jak sprawdzić, czy folder istnieje, czy nie, a następnie o metodzie tworzenia folderu w PowerShell.





Sprawdź, czy folder już istnieje w PowerShell

The Ścieżka testowa polecenie służy do sprawdzenia, czy folder już istnieje w PowerShell. Aby sprawdzić, czy folder istnieje, ścieżka folderu jest podawana w poleceniu Test-Path za pomocą opcji -Ścieżka parametr. W zamian powraca polecenie Test-Path PRAWDA wartość, jeśli istnieje, oraz FAŁSZ jeśli nie istnieje.

Na przykład sprawdźmy, czy określony folder istnieje lub nie korzysta z Ścieżka testowa Komenda:



Ścieżka testowa -Ścieżka „C:\Dokument”

Aby sprawdzić istnienie folderu, najpierw określ Ścieżka testowa polecenie i podaj ścieżkę folderu za pomocą -Ścieżka parametr:

Dane wyjściowe są FAŁSZ ponieważ określony folder nie istnieje.

Utwórz nowy folder w PowerShell

The Nowy przedmiot polecenie tworzy nowy folder w PowerShell. Aby utworzyć katalog, podaj ścieżkę katalogu do polecenia New-Item za pomocą -Ścieżka parametr. Co najważniejsze, użyj -Typ przedmiotu parametr, aby utworzyć folder i określić Informator wartość. Jeśli nie określisz parametru -ItemType i wartości Directory, polecenie New-Item utworzy plik zamiast folderu.

Na przykład utwórzmy nowy folder za pomocą Nowy przedmiot polecenie w PowerShellu:

Nowy przedmiot -Ścieżka „C:\Dokument” -Typ przedmiotu Informator

Aby utworzyć nowy folder:

  • Najpierw skorzystaj z Nowy przedmiot polecenie i określ ścieżkę folderu, który ma zostać utworzony -Ścieżka parametr.
  • Następnie określ Informator wartość do -Typ przedmiotu parametr informujący konsolę, aby utworzyła folder zamiast pliku:

Nowy folder został utworzony, a czas jego utworzenia jest również widoczny na powyższym wyjściu.

Utwórz folder, jeśli nie istnieje w PowerShell

Z zapytania wynika, że ​​będzie to Jeśli inaczej scenariusz, który stwierdza, że ​​jeśli folder nie istnieje, utwórz nowy folder. Istnieje pięć metod tworzenia folderu, jeśli nie istnieje w programie PowerShell, a każda metoda obejmuje scenariusz warunku if-else.

Szybkie rozwiązanie

Oto szybkie rozwiązanie umożliwiające utworzenie folderu, jeśli nie istnieje w konsoli PowerShell:

Jeśli ( -nie ( Ścieżka testowa -Ścieżka „C:\NowyFolder” ) ) { Nowy przedmiot -Ścieżka „C:\NowyFolder” -Typ przedmiotu Informator }

Podany katalog nie istnieje i dlatego został utworzony.

1. Utwórz folder, jeśli nie istnieje w PowerShell, używając ścieżki testowej

The Ścieżka testowa polecenie sprawdza istnienie folderu i informuje konsolę, czy istnieje, czy nie. Polecenie Ścieżka testowa i Nowy element wraz z Jeśli inaczej warunek pomaga utworzyć folder, jeśli nie istnieje w PowerShell.

Na przykład przyjrzyjmy się temu kodowi, aby utworzyć folder, jeśli nie istnieje, za pomocą polecenia Test-Path:

Jeśli ( Ścieżka testowa -Ścieżka „C:\NowyFolder” ) {

Napisz-Host „Określony folder już istnieje”
}
w przeciwnym razie
{
Nowy przedmiot -Ścieżka „C:\NowyFolder” -Typ przedmiotu Informator
}

Aby utworzyć folder za pomocą Ścieżka testowa I Nowy przedmiot Komenda:

  • Najpierw stworzyliśmy Jeśli warunek, w którym użyliśmy Ścieżka testowa polecenie i określił folder za pomocą -Ścieżka aby sprawdzić istnienie folderów.
  • Jeśli określony folder istnieje, wiadomość zostanie wyświetlona za pomocą Napisz-Host polecenie stwierdzające, że folder już istnieje, a skrypt zakończy się w tym miejscu.
  • W przeciwnym razie program przejdzie do następnej sekcji.
  • W warunku else użyliśmy Nowy przedmiot polecenie i określił ścieżkę folderu, który ma zostać utworzony.
  • Aby jaśniej wyjaśnić konsolę tworzącą folder, użyliśmy metody -Typ przedmiotu właściwość i określił wartość Informator :

Wyjście: Folder nie istnieje, dlatego w podanym katalogu tworzony jest nowy folder.

2. Utwórz folder, jeśli nie istnieje w PowerShell, używając Get-Item

The Zdobądź przedmiot polecenie pobiera plik lub folder z określonej lokalizacji. Polecenie Get-Item może również sprawdzić istnienie folderu za pomocą warunku if.

Oto jak możesz utworzyć folder, jeśli nie istnieje w PowerShell, za pomocą polecenia Get-Item:

Jeśli ( Zdobądź przedmiot -Ścieżka „C:\Dokument” -Błąd Akcja Ignorować ) {
Napisz-Host 'Plik już istnieje'
}
w przeciwnym razie {
Nowy przedmiot -Gadatliwy „C:\Dokument” -Typ przedmiotu Informator
}

Aby utworzyć folder, jeśli nie istnieje, użyj opcji Zdobądź przedmiot Komenda:

  • Najpierw utwórz Jeśli warunek, gdzie należy użyć Zdobądź przedmiot polecenie i określ ścieżkę folderu za pomocą -Ścieżka parametr, aby sprawdzić, czy już istnieje, czy nie.
  • Skorzystaj także z -Błąd Akcja parametr i określ Ignorować wartość, aby zignorować błędy, które mogą wystąpić podczas wykonywania kodu.
  • Jeśli folder już istnieje, konsola wyświetli komunikat informujący, że folder już istnieje, używając komendy Napisz-Host Komenda.
  • Jeśli folder nie istnieje, program przejdzie do warunku else, w którym zostanie utworzony nowy folder.
  • W warunku else użyj Nowy przedmiot polecenie, określ ścieżkę folderu, który ma zostać utworzony, i użyj opcji -Typ przedmiotu parametr mający wartość Informator do niego określony.
  • Obok niego określ -gadatliwy parametr, aby uzyskać bardziej szczegółowe dane wyjściowe:

Zrzut ekranu potwierdza, że ​​podany folder nie istnieje i w związku z tym utworzono nowy folder.

3. Utwórz folder, jeśli nie istnieje w PowerShell, używając Get-ChildItem

The Pobierz element podrzędny polecenie pobiera pliki lub foldery z podanego katalogu. Można go używać z poleceniem Nowy element i warunkiem Jeśli-else, aby utworzyć folder, jeśli nie istnieje w PowerShell.

Oto przykładowy kod umożliwiający utworzenie folderu, jeśli nie istnieje, za pomocą polecenia Get-ChildItem:

Jeśli ( Pobierz element podrzędny -Ścieżka „C:\Dokument” -Błąd Akcja Ignorować )
{
Napisz-Host „Folder już istnieje”
}
w przeciwnym razie
{
Nowy przedmiot „C:\Dokument” -Typ przedmiotu Informator
}

Notatka: Wyjaśnienie kodu powyższego fragmentu jest takie samo jak w przypadku Zdobądź przedmiot polecenie z wyjątkiem Pobierz element podrzędny Komenda:

Określony folder nie istnieje, dlatego utworzono nowy folder.

4. Utwórz folder, jeśli nie istnieje w PowerShell, używając ścieżki testowej i Mkdir

The mkdir polecenie tworzy folder w PowerShell. Ma pseudonim md , które również działa tak samo jak polecenie Mkdir. To polecenie może również utworzyć folder, jeśli nie istnieje, za pomocą kombinacji polecenia Test-Path i warunku if-else.

Oto przykład tworzenia folderu, jeśli nie istnieje w PowerShell, za pomocą polecenia md i Test-Path:

Jeśli ( Ścieżka testowa -Ścieżka „C:\Folder” ) {

Napisz-Host „Folder już istnieje”
}
w przeciwnym razie
{
md „C:\Folder”
}

Aby utworzyć folder, jeśli nie istnieje:

  • Najpierw utwórz Jeśli warunek i określić Ścieżka testowa polecenie wraz z folderem, aby sprawdzić, czy istnieje, czy nie.
  • Jeśli folder istnieje, zakończ tutaj kod i wydrukuj folder, który już istnieje.
  • W przeciwnym razie utwórz folder za pomocą pliku md polecenie, podając nazwę folderu i ścieżkę:

Dane wyjściowe pokazują, że folder nie istnieje i dlatego utworzono nowy folder.

5. Utwórz folder, jeśli nie istnieje w PowerShell, używając [System.IO.File]::Exists()

The [System.IO.File]::Exists() polecenie sprawdza, czy określony folder istnieje, czy nie. Może utworzyć folder w PowerShell, jeśli nie istnieje, za pomocą kombinacji warunku if-else i polecenia Nowy element.

Oto jak możesz utworzyć folder, jeśli nie istnieje w PowerShell, używając polecenia [System.IO.File]::Exists():

Jeśli ( [ Katalog System.IO ] ::Istnieje ( „C:\Dokumenty” ) )
{
Napisz-Host „Folder już istnieje”
}
w przeciwnym razie
{
Nowy przedmiot „C:\Dokumenty” -Typ przedmiotu Informator
}

W powyższym kodzie:

  • Najpierw utwórz Jeśli warunek i określić [System.IO.Directory]::Exists(ścieżka do folderu) polecenie w nim, aby sprawdzić, czy ten folder istnieje, czy nie.
  • Jeśli katalog zostanie znaleziony, konsola wyświetli informację, że folder istnieje.
  • W przeciwnym razie utworzy ten folder za pomocą pliku Nowy przedmiot Komenda:

Określony folder nie istnieje. Następnie tworzony jest nowy folder za pomocą polecenia Nowy element.

Dodatkowa wskazówka: utwórz folder, jeśli już istnieje w programie PowerShell

The -Siła parametr z Nowy przedmiot polecenie służy do zastąpienia istniejącego folderu w PowerShell. Parametr -Force zastępuje istniejący element w określonej ścieżce w programie PowerShell. Aby utworzyć folder, jeśli już istnieje, po prostu dodaj parametr -Force wraz z poleceniem Nowy element.

Oto jak możesz zastąpić istniejący folder:

Nowy przedmiot -Ścieżka „C:\Dokument” -Typ przedmiotu Informator -Siła

Aby utworzyć folder, jeśli już istnieje w PowerShell:

  • Najpierw użyj polecenia Nowy element i określ folder, który ma zostać utworzony, używając parametru -path.
  • Następnie użyj parametru -ItemType i określ wartość, aby poinformować konsolę o utworzeniu folderu.
  • Na koniec, aby zastąpić istniejący folder, użyj parametru -Force:

Folder został pomyślnie nadpisany w określonej ścieżce.

Wniosek

Aby utworzyć folder, jeśli nie istnieje, najpierw sprawdź jego istnienie za pomocą Ścieżka testowa Komenda. Następnie skorzystaj z Nowy przedmiot polecenie utworzenia folderu, jeśli nie istnieje. Aby wykonać tę operację za jednym razem, musisz użyć Jeśli inaczej warunek wraz z poleceniami Test-Path i New-Item, które pokazałem już w metodzie 1 w tym artykule.