PowerShell Mappa létrehozása, ha nem létezik

Powershell Mappa Letrehozasa Ha Nem Letezik



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:



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és

Mappa 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.