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:
- Skontrolujte, či priečinok už existuje v prostredí PowerShell
- Vytvorte nový priečinok v PowerShell
- Vytvorte priečinok, ak neexistuje v PowerShell
- Pomocou Test-Path
- Pomocou Get-Item
- Pomocou Get-ChildItem
- Pomocou Test-Path a Mkdir
- Pomocou [System.IO.File]::Exists()
- Bonusový tip: Vytvorte priečinok, ak už existuje v prostredí PowerShell
- Záver
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árAk 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 -SilaAk 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.