PowerShell Vytvorte priečinok, ak neexistuje

Powershell Vytvorte Priecinok Ak Neexistuje



Máte veľa priečinkov a chcete vytvoriť nový, ale neviete, či už tento priečinok existuje alebo nie? Tento proces môže trvať veľa času, pretože najprv vyhľadáte tento priečinok, či už existuje alebo nie, a potom ho vytvoríte, ak neexistuje.

Prekvapivo vám PowerShell môže ušetriť veľa času a úsilia, ak viete trochu skriptovať.







Počkaj! Pre túto úlohu sa nemusíte učiť celé skriptovanie. Pretože som poskytol päť metód na vytvorenie priečinka, ak neexistuje, s náležitým vysvetlením každého príkazu, ktorý sa v ňom používa.



Rýchly prehľad:



Pred prechodom na skripty sa naučíme, ako skontrolovať, či priečinok existuje alebo nie, a potom na spôsob vytvorenia priečinka v PowerShell.





Skontrolujte, či priečinok už existuje v prostredí PowerShell

The Test-Path príkaz sa používa na kontrolu, či priečinok už existuje v PowerShell. Ak chcete skontrolovať, či priečinok existuje, zadajte cestu k priečinku príkazu Test-Path pomocou príkazu -Cesta parameter. Na oplátku sa vráti príkaz Test-Path Pravda hodnotu, ak existuje, a Nepravdivé ak neexistuje.

Napríklad, skontrolujme, či zadaný priečinok existuje alebo nepoužíva Test-Path príkaz:



Test-Path -Cesta 'C:\Dokument'

Ak chcete skontrolovať existenciu priečinka, najprv zadajte Test-Path a zadajte cestu k priečinku pomocou príkazu -Cesta parameter:

Výstupom je Nepravdivé pretože zadaný priečinok neexistuje.

Vytvorte nový priečinok v PowerShell

The Nová vec príkaz vytvorí nový priečinok v PowerShell. Ak chcete vytvoriť adresár, zadajte cestu k adresáru príkazu New-Item pomocou príkazu -Cesta parameter. A čo je najdôležitejšie, použite -Typ položky parameter na vytvorenie priečinka a špecifikovanie Adresár hodnotu. Ak nezadáte parameter -ItemType a hodnotu Directory, potom príkaz New-Item vytvorí súbor namiesto priečinka.

Napríklad vytvorte nový priečinok pomocou Nová vec príkaz v PowerShell:

Nová vec -Cesta 'C:\Dokument' -Typ položky Adresár

Ak chcete vytvoriť nový priečinok:

  • Najprv použite Nová vec a zadajte cestu k priečinku, ktorý sa má vytvoriť -Cesta parameter.
  • Potom špecifikujte Adresár hodnotu k -Typ položky parameter, ktorý konzole povie, aby namiesto súboru vytvorila priečinok:

Nový priečinok bol vytvorený a čas jeho vytvorenia je tiež viditeľný vo vyššie uvedenom výstupe.

Vytvorte priečinok, ak neexistuje v PowerShell

Z dotazu možno vypozorovať, že to bude an ak-inak scenár, ktorý uvádza, že ak priečinok neexistuje, vytvorte nový priečinok. Existuje päť metód na vytvorenie priečinka, ak neexistuje v PowerShell, a každá metóda zahŕňa scenár podmienky if-else.

Rýchle riešenie

Tu je rýchle riešenie na vytvorenie priečinka, ak neexistuje v konzole PowerShell:

ak ( - nie ( Test-Path -Cesta 'C:\NewFolder' ) ) { Nová vec -Cesta 'C:\NewFolder' -Typ položky Adresár }

Zadaný adresár neexistuje, a preto je vytvorený.

1. Vytvorte priečinok, ak neexistuje v prostredí PowerShell pomocou Test-Path

The Test-Path príkaz skontroluje existenciu priečinka a povie konzole, či existuje alebo nie. Príkazy Test-Path a New-Item spolu s Ak-Ešte podmienka pomôže vytvoriť priečinok, ak v PowerShell neexistuje.

Pozrime sa napríklad na tento kód na vytvorenie priečinka, ak neexistuje, pomocou príkazu Test-Path:

ak ( Test-Path -Cesta 'C:\NewFolder' ) {

Write-Host 'Špecifikovaný priečinok už existuje'
}
inak
{
Nová vec -Cesta 'C:\NewFolder' -Typ položky Adresár
}

Ak chcete vytvoriť priečinok pomocou Test-Path a Nová vec príkaz:

  • Najprv sme vytvorili Ak stave, kde sme použili Test-Path a špecifikoval priečinok pomocou -Cesta na kontrolu existencie priečinkov.
  • Ak zadaný priečinok existuje, správa sa zobrazí pomocou Write-Host príkaz, ktorý uvádza, že priečinok už existuje a skript sa tu skončí.
  • V opačnom prípade sa program presunie do ďalšej sekcie.
  • V inom stave sme použili Nová vec a špecifikoval cestu k priečinku, ktorý sa má vytvoriť.
  • Na jasnejšie vysvetlenie konzoly, ktorá vytvára priečinok, sme použili -Typ položky vlastnosť a špecifikovala hodnotu Adresár :

Výkon: Priečinok neexistuje, a preto sa v zadanom adresári vytvorí nový priečinok.

2. Vytvorte priečinok, ak neexistuje, v prostredí PowerShell pomocou funkcie Get-Item

The Get-Item príkaz získa súbor alebo priečinok zo zadaného umiestnenia. Príkaz Get-Item môže tiež skontrolovať existenciu priečinka pomocou podmienky if.

Takto môžete vytvoriť priečinok, ak neexistuje v PowerShell, pomocou príkazu Get-Item:

ak ( Get-Item -Cesta 'C:\Dokument' -ErrorAction Ignorovať ) {
Write-Host 'Súbor už existuje'
}
inak {
Nová vec -Veľmi veľa 'C:\Dokument' -Typ položky Adresár
}

Ak chcete vytvoriť priečinok, ak neexistuje, použite Get-Item príkaz:

  • Najprv vytvorte Ak stav, kde sa používa Get-Item a zadajte cestu k priečinku pomocou príkazu -Cesta parameter na kontrolu, či už existuje alebo nie.
  • Tiež použite -ErrorAction parameter a špecifikujte Ignorovať ignorovať chyby, ktoré sa môžu vyskytnúť počas vykonávania kódu.
  • Ak priečinok už existuje, konzola zobrazí správu, že priečinok už existuje pomocou Write-Host príkaz.
  • Ak priečinok neexistuje, program prejde do stavu else, kde sa vytvorí nový priečinok.
  • V inom stave použite Nová vec zadajte cestu k priečinku, ktorý sa má vytvoriť, a použite príkaz -Typ položky parameter, ktorý má hodnotu Adresár k tomu špecifikované.
  • Vedľa neho uveďte -veľký parameter na získanie podrobnejšieho výstupu:

Snímka obrazovky potvrdzuje, že zadaný priečinok neexistuje, a preto bol vytvorený nový priečinok.

3. Vytvorte priečinok, ak neexistuje v PowerShell pomocou Get-ChildItem

The Get-ChildItem príkaz získa súbory alebo priečinky z daného adresára. Dá sa použiť s príkazom Nová položka a podmienkou If-else na vytvorenie priečinka, ak v prostredí PowerShell neexistuje.

Tu je príklad kódu na vytvorenie priečinka, ak neexistuje pomocou príkazu Get-ChildItem:

ak ( Get-ChildItem -Cesta 'C:\Dokument' -ErrorAction Ignorovať )
{
Write-Host 'Priečinok už existuje'
}
inak
{
Nová vec 'C:\Dokument' -Typ položky Adresár
}

Poznámka: Vysvetlenie kódu pre vyššie uvedený úryvok je rovnaké ako pre Get-Item príkaz okrem Get-ChildItem príkaz:

Zadaný priečinok neexistuje, a preto bol vytvorený nový priečinok.

4. Vytvorte priečinok, ak neexistuje v PowerShell pomocou Test-Path a Mkdir

The mkdir príkaz vytvorí priečinok v PowerShell. Má alias md , ktorý tiež funguje rovnako ako príkaz Mkdir. Tento príkaz môže tiež vytvoriť priečinok, ak neexistuje, pomocou kombinácie príkazu Test-Path a podmienky if-else.

Tu je príklad vytvorenia priečinka, ak neexistuje v PowerShell pomocou príkazu md a Test-Path:

ak ( Test-Path -Cesta 'C:\Priečinok' ) {

Write-Host 'Priečinok už existuje'
}
inak
{
md 'C:\Priečinok'
}

Ak chcete vytvoriť priečinok, ak neexistuje:

  • Najprv vytvorte Ak stav a špecifikujte Test-Path spolu s priečinkom skontrolujte, či existuje alebo nie.
  • Ak priečinok existuje, ukončite kód tu a vytlačte priečinok, ktorý už existuje.
  • V opačnom prípade vytvorte priečinok pomocou md príkaz zadaním názvu priečinka a cesty:

Výstup ukazuje, že priečinok neexistuje, a preto bol vytvorený nový priečinok.

5. Vytvorte priečinok, ak neexistuje v PowerShell pomocou [System.IO.File]::Exists()

The [System.IO.File]::Exists() príkaz skontroluje, či zadaný priečinok existuje alebo nie. Môže vytvoriť priečinok v prostredí PowerShell, ak neexistuje, pomocou kombinácie podmienky if-else a príkazu Nová položka.

Takto môžete vytvoriť priečinok, ak v PowerShell neexistuje, pomocou príkazu [System.IO.File]::Exists():

ak ( [ System.IO.Adresár ] ::Existuje ( 'C:\Docs' ) )
{
Write-Host 'Priečinok už existuje'
}
inak
{
Nová vec 'C:\Docs' -Typ položky Adresár
}

Vo vyššie uvedenom kóde:

  • Najprv vytvorte Ak stav a špecifikujte [System.IO.Directory]::Existuje (cesta priečinka) príkaz vnútri, aby ste skontrolovali, či tento priečinok existuje alebo nie.
  • Ak sa adresár nájde, konzola vypíše, že priečinok existuje.
  • V opačnom prípade vytvorí tento priečinok pomocou Nová vec príkaz:

Zadaný priečinok neexistuje a potom sa vytvorí nový priečinok pomocou príkazu Nová položka.

Bonusový tip: Vytvorte priečinok, ak už existuje v prostredí PowerShell

The -Sila parametrom s Nová vec príkaz sa používa na prepísanie existujúceho priečinka v PowerShell. Parameter -Force prepíše existujúcu položku v zadanej ceste v prostredí PowerShell. Ak chcete vytvoriť priečinok, ak už existuje, jednoducho pridajte parameter -Force spolu s príkazom New-Item.

Takto môžete prepísať existujúci priečinok:

Nová vec -Cesta 'C:\Dokument' -Typ položky Adresár -Sila

Ak chcete vytvoriť priečinok, ak už existuje v prostredí PowerShell:

  • Najprv použite príkaz New-Item a pomocou parametra -path zadajte priečinok, ktorý sa má vytvoriť.
  • Potom použite parameter -ItemType a zadajte hodnotu, ktorá povie konzole, aby vytvorila priečinok.
  • Nakoniec, ak chcete prepísať existujúci priečinok, použite parameter -Force:

Priečinok bol úspešne prepísaný v zadanej ceste.

Záver

Ak chcete vytvoriť priečinok, ak neexistuje, najprv skontrolujte existenciu priečinka pomocou Test-Path príkaz. Potom použite Nová vec príkaz na vytvorenie priečinka, ak neexistuje. Ak chcete vykonať túto operáciu naraz, musíte použiť ak-inak stav spolu s príkazmi Test-Path a New-Item, ktoré som už demonštroval v metóde 1 v tomto článku.