PowerShell Looge kaust, kui seda pole olemas

Powershell Looge Kaust Kui Seda Pole Olemas



Kas teil on hunnik kaustu ja soovite luua uue, kuid te ei tea, kas see kaust on juba olemas või mitte? See protsess võib võtta palju aega, sest kõigepealt otsite seda kausta, olenemata sellest, kas see on olemas või mitte, ja seejärel loote selle, kui seda pole olemas.

Üllataval kombel võib PowerShell säästa palju aega ja vaeva, kui tunnete natuke skriptimist.







Oota! Selle ülesande jaoks ei pea te kogu skriptimist õppima. Kuna olen pakkunud viis meetodit kausta loomiseks, kui seda pole olemas, koos iga selles kasutatud käsu nõuetekohase selgitusega.



Kiire ülevaade:



Enne skriptide poole liikumist uurime, kuidas kontrollida, kas kaust on olemas või mitte, ja seejärel kausta loomise meetodit PowerShellis.





Kontrollige, kas kaust on PowerShellis juba olemas

The Testi tee käsku kasutatakse selleks, et kontrollida, kas kaust on PowerShellis juba olemas. Kausta olemasolu kontrollimiseks määratakse kausta tee käsule Test-Path, kasutades - Tee parameeter. Vastutasuks naaseb käsk Test-Path Tõsi väärtus, kui see on olemas, ja Vale kui seda pole olemas.

Näiteks kontrollime, kas määratud kaust on olemas või ei kasuta seda Testi tee käsk:



Testi tee - Tee 'C:\dokument'

Kausta olemasolu kontrollimiseks määrake esmalt Testi tee käsk ja sisestage kausta tee kasutades - Tee parameeter:

Väljund on Vale kuna määratud kausta pole olemas.

Looge PowerShellis uus kaust

The Uus-üksus käsk loob PowerShellis uue kausta. Kataloogi loomiseks sisestage käsu New-Item kataloogi tee, kasutades - Tee parameeter. Kõige tähtsam on kasutada -Eseme tüüp parameetri kausta loomiseks ja määramiseks Kataloog väärtus. Kui te ei määra parameetrit -ItemType ja kataloogi väärtust, loob käsk New-Item kausta asemel faili.

Näiteks loome uue kausta, kasutades Uus-üksus käsk PowerShellis:

Uus-üksus - Tee 'C:\dokument' -Eseme tüüp Kataloog

Uue kausta loomiseks toimige järgmiselt.

  • Esiteks kasutage Uus-üksus käsk ja määrake kausta tee, mis luuakse - Tee parameeter.
  • Pärast seda täpsustage Kataloog väärtust -Eseme tüüp parameeter, mis annab konsoolile käsu luua faili asemel kaust:

Uus kaust on loodud ja selle loomise aeg on näha ka ülaltoodud väljundis.

Looge kaust, kui seda PowerShellis pole

Päringust võib täheldada, et see saab olema an kui-muidu stsenaarium, mis ütleb, et kui kausta pole olemas, looge uus kaust. Kausta loomiseks, kui seda PowerShellis pole, on viis meetodit ja iga meetod hõlmab tingimuse if-else stsenaariumi.

Kiire Lahendus

Siin on kiire lahendus kausta loomiseks, kui seda PowerShelli konsoolis pole:

kui ( -mitte ( Testi tee - Tee 'C:\NewFolder' ) ) { Uus-üksus - Tee 'C:\NewFolder' -Eseme tüüp Kataloog }

Määratud kataloogi pole olemas ja seetõttu luuakse see.

1. Looge kaust, kui seda pole PowerShellis, kasutades Test-Pathi

The Testi tee käsk kontrollib kausta olemasolu ja teatab konsoolile, kas see on olemas või mitte. Käsk Test-Path ja New-Item koos käsuga Kui-muidu tingimus aitab luua kausta, kui seda PowerShellis pole.

Näiteks jälgime seda koodi, et luua kaust, kui seda pole, kasutades käsku Test-Path:

kui ( Testi tee - Tee 'C:\NewFolder' ) {

Write-Host 'Määratud kaust on juba olemas'
}
muidu
{
Uus-üksus - Tee 'C:\NewFolder' -Eseme tüüp Kataloog
}

Kausta loomiseks kasutades Testi tee ja Uus-üksus käsk:

  • Esiteks lõime me Kui seisukorras, kus kasutasime Testi tee käsk ja määras kausta kasutades - Tee kaustade olemasolu kontrollimiseks.
  • Kui määratud kaust on olemas, kuvatakse teade kasutades Write-Host käsk, mis ütleb, et kaust on juba olemas, ja skript lõpeb siin.
  • Vastasel juhul liigub programm järgmisse jaotisesse.
  • Muus seisukorras kasutasime Uus kaup käsk ja määras loodava kausta tee.
  • Kausta loova konsooli selgemaks selgitamiseks kasutasime -Eseme tüüp vara ja täpsustas väärtust Kataloog :

Väljund: Kausta pole olemas ja seega luuakse määratud kataloogis uus kaust.

2. Looge rakenduses Get-Item kaust, kui seda pole PowerShellis

The Hangi üksus käsk hangib faili või kausta määratud asukohast. Käsk Get-Item saab kausta olemasolu kontrollida ka tingimuse if abil.

Nii saate luua kausta, kui seda PowerShellis pole, kasutades käsku Get-Item:

kui ( Hangi üksus - Tee 'C:\dokument' -ErrorAction Ignoreeri ) {
Write-Host 'Fail on juba olemas'
}
muidu {
Uus-üksus - Verbose 'C:\dokument' -Eseme tüüp Kataloog
}

Kausta loomiseks, kui seda pole olemas, kasutage Hangi üksus käsk:

  • Esiteks looge an Kui seisukorras, kus kasutada Hangi üksus käsk ja määrake kausta tee kasutades - Tee parameeter, et kontrollida, kas see on juba olemas või mitte.
  • Samuti kasutage -ErrorAction parameeter ja määrake Ignoreeri väärtus, et ignoreerida vigu, mis võivad koodi täitmise ajal tekkida.
  • Kui kaust on juba olemas, kuvab konsool teate, et kaust on juba olemas, kasutades Write-Host käsk.
  • Kui kausta pole olemas, liigub programm olekusse else, kus luuakse uus kaust.
  • Muus olukorras kasutage Uus-üksus käsk, määrake loodava kausta tee ja kasutage -Eseme tüüp väärtust omav parameeter Kataloog sellele määratud.
  • Selle kõrval täpsustage -sõnaline parameetri üksikasjalikuma väljundi saamiseks:

Ekraanipilt kinnitab, et määratud kausta pole olemas ja seega loodi uus kaust.

3. Looge rakenduses Get-ChildItem kaust, kui seda pole PowerShellis

The Get-ChildItem käsk hangib failid või kaustad antud kataloogist. Seda saab kasutada koos käsuga New-Item ja tingimusega If-else kausta loomiseks, kui seda PowerShellis pole.

Siin on näidiskood kausta loomiseks, kui seda käsu Get-ChildItem abil pole olemas:

kui ( Get-ChildItem - Tee 'C:\dokument' -ErrorAction Ignoreeri )
{
Write-Host 'Kaust on juba olemas'
}
muidu
{
Uus-üksus 'C:\dokument' -Eseme tüüp Kataloog
}

Märge: Ülaltoodud koodilõigu koodi selgitus on sama, mis koodi puhul Hangi üksus käsk, välja arvatud Get-ChildItem käsk:

Määratud kausta pole olemas ja seetõttu loodi uus kaust.

4. Looge PowerShellis kaust, kui seda pole, kasutades Test-Pathi ja Mkdir-i

The mkdir käsk loob PowerShellis kausta. Sellel on varjunimi md , mis toimib samuti nagu käsk Mkdir. See käsk võib käsu Test-Path ja tingimuse if-else kombinatsiooniga luua ka kausta, kui seda pole olemas.

Siin on näide kausta loomisest, kui seda PowerShellis pole, kasutades käsku md ja Test-Path:

kui ( Testi tee - Tee 'C:\kaust' ) {

Write-Host 'Kaust on juba olemas'
}
muidu
{
md 'C:\kaust'
}

Kausta loomiseks, kui seda pole olemas, toimige järgmiselt.

  • Esiteks looge Kui tingimus ja täpsustage Testi tee käsk koos kaustaga, et kontrollida, kas see on olemas või mitte.
  • Kui kaust on olemas, lõpetage kood siin ja printige juba olemasolev kaust.
  • Muul juhul looge kaust kasutades md käsk, määrates kausta nime ja tee:

Väljund näitab, et kausta pole olemas ja seega loodi uus kaust.

5. Looge PowerShellis kaust, kui seda pole olemas, kasutades [System.IO.File]::Exists()

The [Süsteem.IO.Fail]::Olemas() käsk kontrollib, kas määratud kaust on olemas või mitte. See võib luua kausta PowerShellis, kui seda pole olemas tingimuse if-else ja käsu New-Item kombinatsiooniga.

Nii saate luua kausta, kui seda PowerShellis pole, kasutades käsku [System.IO.File]::Exists():

kui ( [ System.IO.Directory ] ::Olemas ( 'C:\Docs' ) )
{
Write-Host 'Kaust on juba olemas'
}
muidu
{
Uus-üksus 'C:\Docs' -Eseme tüüp Kataloog
}

Ülaltoodud koodis:

  • Esiteks looge an Kui tingimus ja täpsustage [System.IO.Directory]::Exists(Folder-Path) käsk selle sees, et kontrollida, kas see kaust on olemas või mitte.
  • Kui kataloog leitakse, prindib konsool, et kaust on olemas.
  • Vastasel juhul loob see selle kausta kasutades Uus-üksus käsk:

Määratud kausta pole olemas ja seejärel luuakse uus kaust käsu New-Item abil.

Boonusnõuanne: looge kaust, kui see on PowerShellis juba olemas

The - Jõudu parameetriga Uus-üksus käsku kasutatakse PowerShellis olemasoleva kausta ülekirjutamiseks. Parameeter -Force kirjutab PowerShellis määratud teel üle olemasoleva üksuse. Kausta loomiseks, kui see on juba olemas, lisage lihtsalt parameeter -Force koos käsuga New-Item.

Olemasoleva kausta saab üle kirjutada järgmiselt:

Uus-üksus - Tee 'C:\dokument' -Eseme tüüp Kataloog - Jõudu

Kausta loomiseks, kui see on PowerShellis juba olemas, toimige järgmiselt.

  • Esmalt kasutage käsku New-Item ja määrake loodav kaust parameetriga -path.
  • Seejärel kasutage parameetrit -ItemType ja määrake väärtus, et käskida konsoolil kaust luua.
  • Lõpuks kasutage olemasoleva kausta ülekirjutamiseks parameetrit -Force:

Kaust on määratud teel edukalt üle kirjutatud.

Järeldus

Kausta loomiseks, kui seda pole olemas, kontrollige esmalt kausta olemasolu, kasutades nuppu Testi tee käsk. Seejärel kasutage Uus-üksus käsk kausta loomiseks, kui seda pole olemas. Selle toimingu ühe korraga tegemiseks peate kasutama kui-muidu tingimus koos käsuga Test-Path ja New-Item, mida ma juba näitasin selle artikli 1. meetodi puhul.