Van egy csomó mappája, és szeretne újat létrehozni, de nem tudja, hogy az már létezik-e vagy sem? Ez a folyamat sok időt vehet igénybe, mert először megkeresi azt a mappát, függetlenül attól, hogy létezik-e vagy sem, majd létrehozza, ha nem létezik.
Meglepő módon a PowerShell sok időt és erőfeszítést takaríthat meg, ha egy kicsit ismeri a szkripteket.
Kitartás! Ehhez a feladathoz nem kell megtanulnia az egész szkriptet. Mivel öt módszert adtam meg egy mappa létrehozására, ha nem létezik, minden benne használt parancs megfelelő magyarázatával.
Gyors vázlat:
- Ellenőrizze, hogy a mappa létezik-e már a PowerShellben
- Hozzon létre egy új mappát a PowerShellben
- Hozzon létre egy mappát, ha nem létezik a PowerShellben
- Test-Path használata
- A Get-Item használata
- A Get-ChildItem használata
- A Test-Path és az Mkdir használatával
- A [System.IO.File]::Exists() használata
- Bónusztipp: Hozzon létre egy mappát, ha az már létezik a PowerShellben
- Következtetés
Mielőtt a szkriptek felé haladnánk, tanuljuk meg, hogyan ellenőrizhetjük, hogy létezik-e mappa vagy sem, majd a PowerShellben mappa létrehozásának módszerét.
Ellenőrizze, hogy a mappa létezik-e már a PowerShellben
A Teszt-útvonal paranccsal ellenőrizheti, hogy a mappa már létezik-e a PowerShellben. A mappa létezésének ellenőrzéséhez a mappa elérési útját a Test-Path parancsban adjuk meg a segítségével -Pálya paraméter. Cserébe a Test-Path parancs visszatér Igaz érték, ha létezik, és Hamis ha nem létezik.
Például nézzük meg, hogy a megadott mappa létezik-e, vagy nem használja a Teszt-útvonal parancs:
Teszt-útvonal -Pálya 'C:\Document'
A mappa létezésének ellenőrzéséhez először adja meg a Teszt-útvonal parancsot, és adja meg a mappa elérési útját a -Pálya paraméter:
A kimenet az Hamis mert a megadott mappa nem létezik.
Hozzon létre egy új mappát a PowerShellben
A Új elem parancs új mappát hoz létre a PowerShellben. Könyvtár létrehozásához adja meg a New-Item parancs könyvtár elérési útját a -Pálya paraméter. A legfontosabb, hogy használja a -Tárgy típus paramétert egy mappa létrehozásához, és adja meg a Könyvtár érték. Ha nem adja meg az -ItemType paramétert és a Directory értéket, akkor a New-Item parancs mappa helyett fájlt hoz létre.
Például hozzunk létre egy új mappát a Új elem parancs a PowerShellben:
Új elem -Pálya 'C:\Document' -Tárgy típus KönyvtárÚj mappa létrehozása:
- Először is használja a Új elem parancsot, és adja meg a létrehozandó mappa elérési útját -Pálya paraméter.
- Ezt követően adja meg a Könyvtár értéket a -Tárgy típus paraméter, amely megmondja a konzolnak, hogy fájl helyett mappát hozzon létre:
Az új mappa létrejött és a létrehozásának ideje is látható a fenti kimeneten.
Hozzon létre egy mappát, ha nem létezik a PowerShellben
A lekérdezésből megfigyelhető, hogy egy lesz ha más forgatókönyv, amely szerint ha a mappa nem létezik, akkor hozzon létre egy új mappát. Öt módszer létezik egy mappa létrehozására, ha nem létezik a PowerShellben, és mindegyik módszer magában foglalja az if-else feltétel forgatókönyvét.
Gyors megoldás
Íme a gyors megoldás egy mappa létrehozására, ha nem létezik a PowerShell-konzolon:
ha ( -nem ( Teszt-útvonal -Pálya 'C:\NewFolder' ) ) { Új elem -Pálya 'C:\NewFolder' -Tárgy típus Könyvtár }
A megadott könyvtár nem létezik, ezért létrejön.
1. Ha nem létezik, hozzon létre mappát a PowerShellben a tesztútvonal használatával
A Teszt-útvonal parancs ellenőrzi a mappa létezését, és közli a konzollal, hogy létezik-e vagy sem. A Teszt-útvonal és az Új-elem parancs, valamint a Ha más feltétel segít mappa létrehozásában, ha az nem létezik a PowerShellben.
Például figyeljük meg ezt a kódot egy mappa létrehozásához, ha nem létezik a Test-Path paranccsal:
ha ( Teszt-útvonal -Pálya 'C:\NewFolder' ) {Write-Host 'Már létezik megadott mappa'
}
más
{
Új elem -Pálya 'C:\NewFolder' -Tárgy típus Könyvtár
}
Mappa létrehozásához a Teszt-útvonal és Új elem parancs:
- Először létrehoztunk egy Ha állapotban, ahol használtuk a Teszt-útvonal parancsot, és megadta a mappát a segítségével -Pálya hogy ellenőrizze a mappák létezését.
- Ha a megadott mappa létezik, akkor az üzenet a következővel jelenik meg Write-Host parancsot, amely kimondja, hogy a mappa már létezik, és a szkript itt ér véget.
- Ellenkező esetben a program a következő részre lép.
- Más állapotban a Új elem parancsot, és megadta a létrehozandó mappa elérési útját.
- A mappát létrehozó konzol pontosabb magyarázatához a -Tárgy típus tulajdonságot, és megadta az értéket Könyvtár :
Kimenet: A mappa nem létezik, ezért új mappa jön létre a megadott könyvtárban.
2. Hozzon létre mappát, ha nem létezik a PowerShellben a Get-Item használatával
A Get-Elem parancs lekéri a fájlt vagy mappát a megadott helyről. A Get-Item parancs is ellenőrizheti a mappa létezését az if feltétel használatával.
Így hozhat létre mappát, ha nem létezik a PowerShellben a Get-Item paranccsal:
ha ( Get-Elem -Pálya 'C:\Document' -ErrorAction Figyelmen kívül hagyni ) {Write-Host 'A fájl már létezik'
}
más {
Új elem -Bőbeszédű 'C:\Dokumentum' -Tárgy típus Könyvtár
}
Mappa létrehozásához, ha az nem létezik, használja a Get-Elem parancs:
- Először hozzon létre egy Ha állapot, ahol használja a Get-Elem parancsot, és adja meg a mappa elérési útját a -Pálya paraméterrel ellenőrizheti, hogy már létezik-e vagy sem.
- Ezenkívül használja a -ErrorAction paramétert, és adja meg a Figyelmen kívül hagyni értéket a kódvégrehajtás során esetlegesen előforduló hibák figyelmen kívül hagyásához.
- Ha a mappa már létezik, a konzol megjeleníti azt az üzenetet, hogy a mappa már létezik a Write-Host parancs.
- Ha a mappa nem létezik, a program az else állapotba lép, ahol az új mappa létrejön.
- Egyéb állapotban használja a Új elem parancsot, adja meg a létrehozandó mappa elérési útját, és használja a -Tárgy típus értékkel rendelkező paraméter Könyvtár meghatározott hozzá.
- Mellette adja meg a -bőbeszédű paraméter a részletesebb kimenet eléréséhez:
A képernyőkép megerősíti, hogy a megadott mappa nem létezik, ezért új mappa jött létre.
3. Hozzon létre mappát, ha nem létezik a PowerShellben a Get-ChildItem használatával
A Get-ChildItem parancs lekéri a fájlokat vagy mappákat az adott könyvtárból. Használható a New-Item paranccsal és az If-else feltétellel egy mappa létrehozásához, ha nem létezik a PowerShellben.
Íme egy példakód egy mappa létrehozásához, ha nem létezik a Get-ChildItem parancs segítségével:
ha ( Get-ChildItem -Pálya 'C:\Dokumentum' -ErrorAction Figyelmen kívül hagyni ){
Write-Host 'A mappa már létezik'
}
más
{
Új elem 'C:\Dokumentum' -Tárgy típus Könyvtár
}
Jegyzet: A fenti kódrészlet kódmagyarázata ugyanaz, mint a Get-Elem parancsot kivéve a Get-ChildItem parancs:
A megadott mappa nem létezik, ezért új mappa jött létre.
4. Hozzon létre egy mappát, ha nem létezik a PowerShellben a Test-Path és az Mkdir használatával
A mkdir parancs létrehoz egy mappát a PowerShellben. Ennek van egy álneve md , amely szintén ugyanúgy működik, mint az Mkdir parancs. Ez a parancs egy mappát is létrehozhat, ha nem létezik, a Test-Path parancs és az if-else feltétel kombinációjával.
Íme egy példa egy mappa létrehozására, ha nem létezik a PowerShellben az md és a Test-Path paranccsal:
ha ( Teszt-útvonal -Pálya 'C:\Folder' ) {Write-Host 'A mappa már létezik'
}
más
{
md 'C:\Folder'
}
Mappa létrehozása, ha nem létezik:
- Először hozza létre a Ha feltételt, és adja meg a Teszt-útvonal parancsot a mappával együtt, hogy ellenőrizze, hogy létezik-e vagy sem.
- Ha a mappa létezik, fejezze be itt a kódot, és nyomtassa ki a már létező mappát.
- Ellenkező esetben hozzon létre egy mappát a md parancsot a mappa nevének és elérési útjának megadásával:
A kimenet azt mutatja, hogy a mappa nem létezik, ezért új mappa jött létre.
5. Ha nem létezik, hozzon létre mappát a PowerShellben a [System.IO.File]::Exists() segítségével
A [System.IO.File]::Exists() parancs ellenőrzi, hogy a megadott mappa létezik-e vagy sem. Létrehozhatja a mappát a PowerShellben, ha nem létezik, az if-else feltétel és az Új elem parancs kombinációjával.
Így hozhat létre mappát, ha nem létezik a PowerShellben a [System.IO.File]::Exists() paranccsal:
ha ( [ System.IO.Directory ] ::Létezik ( 'C:\Dokumentumok' ) ){
Write-Host 'A mappa már létezik'
}
más
{
Új elem 'C:\Dokumentumok' -Tárgy típus Könyvtár
}
A fenti kódban:
- Először hozzon létre egy Ha feltételt, és adja meg a [System.IO.Directory]::Létezik(Mappa-útvonal) parancsot, hogy ellenőrizze, hogy a mappa létezik-e vagy sem.
- Ha a könyvtár megtalálható, akkor a konzol kiírja, hogy a mappa létezik.
- Ellenkező esetben létrehozza ezt a mappát a Új elem parancs:
A megadott mappa nem létezik, majd az Új elem paranccsal új mappa jön létre.
Bónusztipp: Hozzon létre egy mappát, ha az már létezik a PowerShellben
A -Kényszerítés paraméterrel a Új elem parancs egy meglévő mappa felülírására szolgál a PowerShellben. A -Force paraméter felülír egy meglévő elemet a PowerShell megadott elérési útjában. Egy mappa létrehozásához, ha már létezik, egyszerűen adja hozzá a -Force paramétert a New-Item paranccsal együtt.
Így írhat felül egy meglévő mappát:
Új elem -Pálya 'C:\Dokumentum' -Tárgy típus Könyvtár -KényszerítésMappa létrehozása, ha az már létezik a PowerShellben:
- Először használja a New-Item parancsot, és adja meg a létrehozandó mappát a -path paraméterrel.
- Ezután használja az -ItemType paramétert, és adja meg azt az értéket, amely utasítja a konzolt egy mappa létrehozására.
- Végül egy meglévő mappa felülírásához használja a -Force paramétert:
A mappa sikeresen felülírásra került a megadott elérési úton.
Következtetés
Mappa létrehozásához, ha nem létezik, először ellenőrizze a mappa létezését a Teszt-útvonal parancs. Ezután használja a Új elem parancsot egy mappa létrehozásához, ha az nem létezik. A művelet egy menetben történő végrehajtásához a ha más feltételt a Test-Path paranccsal és az Új elem paranccsal együtt, amelyeket már bemutattam a cikk 1. módszerében.