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:
- Zkontrolujte, zda složka již existuje v PowerShellu
- Vytvořte novou složku v PowerShellu
- Vytvořte složku, pokud neexistuje v PowerShellu
- Pomocí Test-Path
- Pomocí Get-Item
- Pomocí Get-ChildItem
- Pomocí Test-Path a Mkdir
- Pomocí [System.IO.File]::Exists()
- Bonusový tip: Vytvořte složku, pokud již v PowerShellu existuje
- Závěr
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ář -PlatnostChcete-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.