PowerShell Vytvořit složku, pokud neexistuje

Powershell Vytvorit Slozku Pokud Neexistuje



Máte spoustu složek a chcete vytvořit novou, ale nevíte, zda tato složka již existuje nebo ne? Tento proces může trvat hodně času, protože nejprve budete hledat tuto složku, ať už existuje nebo ne, a poté ji vytvořit, pokud neexistuje.

Překvapivě vám PowerShell může ušetřit spoustu času a úsilí, pokud umíte trochu skriptovat.







Vydrž! Pro tento úkol se nemusíte učit celou věc se skriptováním. Protože jsem poskytl pět metod, jak vytvořit složku, pokud neexistuje, s náležitým vysvětlením každého příkazu, který je v ní použit.



Rychlý přehled:



Než přejdeme ke skriptům, naučíme se, jak zkontrolovat, zda složka existuje, nebo ne, a poté se naučíme metodu vytvoření složky v PowerShellu.





Zkontrolujte, zda složka již existuje v PowerShellu

The Testovací cesta příkaz se používá ke kontrole, zda složka již existuje v PowerShellu. Chcete-li zkontrolovat, zda složka existuje, zadejte cestu ke složce příkazu Test-Path pomocí -Cesta parametr. Na oplátku se vrátí příkaz Test-Path Skutečný hodnotu, pokud existuje, a Nepravdivé pokud neexistuje.

Například zkontrolujme, zda zadaná složka existuje nebo nepoužívá Testovací cesta příkaz:



Testovací cesta -Cesta 'C:\Dokument'

Chcete-li zkontrolovat existenci složky, nejprve zadejte Testovací cesta a zadejte cestu ke složce pomocí -Cesta parametr:

Výstup je Nepravdivé protože zadaná složka neexistuje.

Vytvořte novou složku v PowerShellu

The Nový předmět příkaz vytvoří novou složku v PowerShellu. Chcete-li vytvořit adresář, zadejte cestu k adresáři příkazu New-Item pomocí -Cesta parametr. A co je nejdůležitější, použijte -Typ položky parametr pro vytvoření složky a zadání Adresář hodnota. Pokud nezadáte parametr -ItemType a hodnotu Directory, pak příkaz New-Item vytvoří soubor namísto složky.

Vytvořme například novou složku pomocí Nový předmět příkaz v PowerShellu:

Nový předmět -Cesta 'C:\Dokument' -Typ položky Adresář

Chcete-li vytvořit novou složku:

  • Nejprve použijte Nový předmět a zadejte cestu ke složce, která má být vytvořena -Cesta parametr.
  • Poté specifikujte Adresář hodnotu k -Typ položky parametr, který konzoli řekne, aby místo souboru vytvořila složku:

Nová složka byla vytvořena a čas jejího vytvoření je také viditelný ve výše uvedeném výstupu.

Vytvořte složku, pokud neexistuje v PowerShellu

Z dotazu lze vypozorovat, že se bude jednat o an pokud-jinak scénář, který říká, že pokud složka neexistuje, vytvořte novou složku. Existuje pět metod, jak vytvořit složku, pokud v PowerShellu neexistuje, a každá metoda zahrnuje scénář podmínky if-else.

Rychlé řešení

Zde je rychlé řešení, jak vytvořit složku, pokud neexistuje v konzole PowerShell:

-li ( -ne ( Testovací cesta -Cesta 'C:\NewFolder' ) ) { Nový předmět -Cesta 'C:\NewFolder' -Typ položky Adresář }

Zadaný adresář neexistuje, a proto je vytvořen.

1. Vytvořte složku, pokud neexistuje, v PowerShell pomocí Test-Path

The Testovací cesta příkaz zkontroluje existenci složky a řekne konzoli, zda existuje nebo ne. Příkazy Test-Path a New-Item spolu s Pokud-Jinak podmínka pomůže vytvořit složku, pokud v PowerShellu neexistuje.

Podívejme se například na tento kód, abychom vytvořili složku, pokud neexistuje, pomocí příkazu Test-Path:

-li ( Testovací cesta -Cesta 'C:\NewFolder' ) {

Write-Host 'Specifikovaná složka již existuje'
}
jiný
{
Nový předmět -Cesta 'C:\NewFolder' -Typ položky Adresář
}

Chcete-li vytvořit složku pomocí Testovací cesta a Nový předmět příkaz:

  • Nejprve jsme vytvořili Li stavu, kde jsme použili Testovací cesta a specifikoval složku pomocí -Cesta pro kontrolu existence složek.
  • Pokud zadaná složka existuje, zpráva se zobrazí pomocí Write-Host příkaz oznamující, že složka již existuje, a skript zde skončí.
  • Jinak se program přesune do další sekce.
  • V jiném stavu jsme použili Nový předmět a zadali cestu ke složce, která má být vytvořena.
  • K jasnějšímu vysvětlení konzole, která vytváří složku, jsme použili -Typ položky vlastnost a specifikoval hodnotu Adresář :

Výstup: Složka neexistuje, a proto je v zadaném adresáři vytvořena nová složka.

2. Vytvořte složku, pokud neexistuje v PowerShell pomocí Get-Item

The Get-Item příkaz získá soubor nebo složku ze zadaného umístění. Příkaz Get-Item může také zkontrolovat existenci složky pomocí podmínky if.

Takto můžete vytvořit složku, pokud neexistuje v PowerShellu pomocí příkazu Get-Item:

-li ( Get-Item -Cesta 'C:\Dokument' -ErrorAction Ignorovat ) {
Write-Host 'Soubor již existuje'
}
jiný {
Nový předmět -Podrobné 'C:\Dokument' -Typ položky Adresář
}

Chcete-li vytvořit složku, pokud neexistuje, použijte Get-Item příkaz:

  • Nejprve vytvořte Li stavu, kde se používá Get-Item a zadejte cestu ke složce pomocí -Cesta parametr pro kontrolu, zda již existuje nebo ne.
  • Také použijte -ErrorAction parametr a specifikujte Ignorovat hodnota ignorovat chyby, které se mohou vyskytnout během provádění kódu.
  • Pokud složka již existuje, konzola zobrazí zprávu, že složka již existuje pomocí Write-Host příkaz.
  • Pokud složka neexistuje, program se přesune do stavu else, kde bude vytvořena nová složka.
  • Ve stavu else použijte Nový předmět zadejte cestu ke složce, která má být vytvořena, a použijte příkaz -Typ položky parametr, který má hodnotu Adresář k tomu specifikované.
  • Vedle toho uveďte - mnohomluvný parametr pro získání podrobnějšího výstupu:

Snímek obrazovky potvrzuje, že zadaná složka neexistuje, a proto byla vytvořena nová složka.

3. Vytvořte složku, pokud neexistuje, v PowerShellu pomocí Get-ChildItem

The Get-ChildItem příkaz získá soubory nebo složky z daného adresáře. Lze jej použít s příkazem Nová položka a podmínkou If-else k vytvoření složky, pokud v PowerShellu neexistuje.

Zde je příklad kódu pro vytvoření složky, pokud neexistuje pomocí příkazu Get-ChildItem:

-li ( Get-ChildItem -Cesta 'C:\Dokument' -ErrorAction Ignorovat )
{
Write-Host 'Složka již existuje'
}
jiný
{
Nový předmět 'C:\Dokument' -Typ položky Adresář
}

Poznámka: Vysvětlení kódu pro výše uvedený fragment je stejné jako pro Get-Item příkaz kromě Get-ChildItem příkaz:

Zadaná složka neexistuje, a proto byla vytvořena nová složka.

4. Vytvořte složku, pokud neexistuje, v PowerShell pomocí Test-Path a Mkdir

The mkdir příkaz vytvoří složku v PowerShellu. Má alias md , který také funguje stejně jako příkaz Mkdir. Tento příkaz může také vytvořit složku, pokud neexistuje, kombinací příkazu Test-Path a podmínky if-else.

Zde je příklad vytvoření složky, pokud neexistuje v PowerShellu pomocí příkazu md a Test-Path:

-li ( Testovací cesta -Cesta 'C:\Složka' ) {

Write-Host 'Složka již existuje'
}
jiný
{
md 'C:\Složka'
}

Chcete-li vytvořit složku, pokud neexistuje:

  • Nejprve vytvořte Li stav a specifikujte Testovací cesta spolu se složkou zkontrolujte, zda existuje nebo ne.
  • Pokud složka existuje, ukončete zde kód a vytiskněte složku, která již existuje.
  • Jinak vytvořte složku pomocí md příkaz zadáním názvu složky a cesty:

Výstup ukazuje, že složka neexistuje, a proto byla vytvořena nová složka.

5. Vytvořte složku, pokud neexistuje v PowerShell pomocí [System.IO.File]::Exists()

The [System.IO.File]::Exists() příkaz zkontroluje, zda zadaná složka existuje nebo ne. Může vytvořit složku v PowerShellu, pokud neexistuje, pomocí kombinace podmínky if-else a příkazu Nová položka.

Takto můžete vytvořit složku, pokud v PowerShellu neexistuje, pomocí příkazu [System.IO.File]::Exists():

-li ( [ System.IO.Adresář ] ::Existuje ( 'C:\Docs' ) )
{
Write-Host 'Složka již existuje'
}
jiný
{
Nový předmět 'C:\Docs' -Typ položky Adresář
}

Ve výše uvedeném kódu:

  • Nejprve vytvořte Li stav a specifikujte [System.IO.Directory]::Existuje (cesta složky) příkaz uvnitř, abyste zkontrolovali, zda tato složka existuje nebo ne.
  • Pokud je adresář nalezen, konzola vypíše, že složka existuje.
  • Jinak tuto složku vytvoří pomocí Nový předmět příkaz:

Zadaná složka neexistuje a poté se pomocí příkazu Nová položka vytvoří nová složka.

Bonusový tip: Vytvořte složku, pokud již v PowerShellu existuje

The -Platnost parametr s Nový předmět příkaz se používá k přepsání existující složky v PowerShellu. Parametr -Force přepíše existující položku v zadané cestě v PowerShell. Chcete-li vytvořit složku, pokud již existuje, jednoduše přidejte parametr -Force spolu s příkazem New-Item.

Takto můžete přepsat existující složku:

Nový předmět -Cesta 'C:\Dokument' -Typ položky Adresář -Platnost

Chcete-li vytvořit složku, pokud již existuje v PowerShellu:

  • Nejprve použijte příkaz Nová položka a pomocí parametru -path zadejte složku, která se má vytvořit.
  • Poté použijte parametr -ItemType a zadejte hodnotu, která konzoli řekne, aby vytvořila složku.
  • Nakonec pro přepsání existující složky použijte parametr -Force:

Složka je úspěšně přepsána v zadané cestě.

Závěr

Chcete-li vytvořit složku, pokud neexistuje, nejprve zkontrolujte existenci složky pomocí Testovací cesta příkaz. Poté použijte Nový předmět příkaz k vytvoření složky, pokud neexistuje. Chcete-li provést tuto operaci najednou, musíte použít pokud-jinak podmínky spolu s příkazy Test-Path a New-Item, které jsem již demonstroval v metodě 1 v tomto článku.