PowerShell Stvori mapu ako ne postoji

Powershell Stvori Mapu Ako Ne Postoji



Imate hrpu mapa i želite stvoriti novu, ali ne znate postoji li ta već mapa ili ne? Ovaj proces može potrajati dosta vremena jer ćete prvo tražiti tu mapu, bez obzira postoji li ona ili ne, a zatim je stvoriti ako ne postoji.

Iznenađujuće, PowerShell vam može uštedjeti mnogo vremena i truda ako znate nešto o skriptiranju.







Drži se! Za taj zadatak ne morate naučiti sve o skriptiranju. Budući da sam pružio pet metoda za stvaranje mape ako ne postoji s odgovarajućim objašnjenjem svake naredbe koja se u njoj koristi.



Brzi pregled:



Prije nego prijeđemo na skripte, naučimo kako provjeriti postoji li mapa ili ne, a zatim na metodu za stvaranje mape u PowerShellu.





Provjerite postoji li mapa već u PowerShell-u

The Testni put naredba se koristi za provjeru postoji li mapa već u PowerShell-u. Da biste provjerili postoji li mapa, put do mape je naveden u naredbi Test-Path, koristeći -Staza parametar. Zauzvrat se vraća naredba Test-Path Pravi vrijednost ako postoji, i lažno ako ne postoji.

Na primjer, provjerimo postoji li navedena mapa ili ne koristi Testni put naredba:



Testni put -Staza 'C:\Dokument'

Da biste provjerili postojanje mape, prvo navedite Testni put naredba i navedite put mape pomoću -Staza parametar:

Izlaz je lažno jer navedena mapa ne postoji.

Stvorite novu mapu u PowerShell-u

The Nova stvar naredba stvara novu mapu u PowerShellu. Da biste stvorili direktorij, navedite put direktorija do naredbe New-Item pomoću -Staza parametar. Što je najvažnije, koristite -Vrsta artikla parametar za stvaranje mape i navođenje Imenik vrijednost. Ako ne navedete parametar -ItemType i vrijednost Directory, tada će naredba New-Item stvoriti datoteku umjesto mape.

Na primjer, stvorimo novu mapu pomoću Nova stvar naredba u PowerShell-u:

Nova stvar -Staza 'C:\Dokument' -Vrsta artikla Imenik

Za izradu nove mape:

  • Prvo, koristite Nova stvar naredbu i odredite put do mape koja će se stvoriti -Staza parametar.
  • Nakon toga navedite Imenik vrijednost za -Vrsta artikla parametar koji govori konzoli da stvori mapu umjesto datoteke:

Nova mapa je stvorena, a vrijeme njene izrade također je vidljivo u gornjem izlazu.

Stvorite mapu ako ne postoji u PowerShell-u

Iz upita se može primijetiti da će to biti an ako-drugače scenarij, koji kaže da ako mapa ne postoji, stvorite novu mapu. Postoji pet metoda za stvaranje mape ako ne postoji u PowerShell-u, a svaka metoda uključuje scenarij uvjeta if-else.

Brzo rješenje

Evo brzog rješenja za stvaranje mape ako ne postoji u PowerShell konzoli:

ako ( -ne ( Testni put -Staza 'C:\Nova mapa' ) ) { Nova stvar -Staza 'C:\Nova mapa' -Vrsta artikla Imenik }

Navedeni direktorij ne postoji i stoga je stvoren.

1. Stvorite mapu ako ne postoji u PowerShell pomoću Test-Path

The Testni put naredba provjerava postojanje mape i govori konzoli postoji li ili ne. Naredba Test-Path i New-Item zajedno s Ako-Inače stanje pomoći u stvaranju mape ako ne postoji u PowerShell-u.

Na primjer, promatrajmo ovaj kod za stvaranje mape ako ne postoji pomoću naredbe Test-Path:

ako ( Testni put -Staza 'C:\Nova mapa' ) {

Write-Host 'Određena mapa već postoji'
}
drugo
{
Nova stvar -Staza 'C:\Nova mapa' -Vrsta artikla Imenik
}

Za stvaranje mape pomoću Testni put i Nova stvar naredba:

  • Prvo smo stvorili Ako stanje, gdje smo koristili Testni put naredbu i odredio mapu pomoću -Staza za provjeru postojanja mapa.
  • Ako navedena mapa postoji, poruka će se prikazati pomoću Write-Host naredba koja navodi da mapa već postoji, a skripta će ovdje završiti.
  • Inače će program prijeći na sljedeći odjeljak.
  • U else uvjetu koristili smo Nova stvar naredbu i odredio put do mape koju treba stvoriti.
  • Kako bismo jasnije objasnili konzolu koja stvara mapu, upotrijebili smo -Vrsta artikla svojstvo i odredio vrijednost Imenik :

Izlaz: Mapa ne postoji i stoga je nova mapa stvorena u navedenom direktoriju.

2. Stvorite mapu ako ne postoji u PowerShell-u koristeći Get-Item

The Get-Item naredba dobiva datoteku ili mapu s navedenog mjesta. Naredba Get-Item također može provjeriti postojanje mape pomoću if uvjeta.

Ovako možete stvoriti mapu ako ne postoji u PowerShell-u pomoću naredbe Get-Item:

ako ( Get-Item -Staza 'C:\Dokument' -ErrorAction Zanemariti ) {
Write-Host 'Datoteka već postoji'
}
drugo {
Nova stvar -Opširno 'C:\Dokument' -Vrsta artikla Imenik
}

Za stvaranje mape ako ne postoji koristite Get-Item naredba:

  • Najprije izradite Ako stanje, gdje koristite Get-Item naredbu i odredite put mape pomoću -Staza parametar za provjeru postoji li već ili ne.
  • Također, koristite -ErrorAction parametar i odredite Zanemariti vrijednost za ignoriranje grešaka koje se mogu pojaviti tijekom izvođenja koda.
  • Ako mapa već postoji, konzola će prikazati poruku da mapa već postoji koristeći Write-Host naredba.
  • Ako mapa ne postoji, program će se premjestiti u stanje else gdje će se stvoriti nova mapa.
  • U slučaju else, koristite Nova stvar naredbu, odredite putanju mape koju želite stvoriti i upotrijebite -Vrsta artikla parametar koji ima vrijednost Imenik navedeno na to.
  • Uz njega navedite - opširno parametar za dobivanje detaljnijeg rezultata:

Snimka zaslona potvrđuje da navedena mapa ne postoji i stoga je stvorena nova mapa.

3. Stvorite mapu ako ne postoji u PowerShell pomoću Get-ChildItem

The Get-ChildItem naredba dobiva datoteke ili mape iz zadanog direktorija. Može se koristiti s naredbom New-Item i uvjetom If-else za stvaranje mape ako ne postoji u PowerShellu.

Evo primjera koda za stvaranje mape ako ne postoji uz pomoć naredbe Get-ChildItem:

ako ( Get-ChildItem -Staza 'C:\Dokument' -ErrorAction Zanemariti )
{
Write-Host 'Mapa već postoji'
}
drugo
{
Nova stvar 'C:\Dokument' -Vrsta artikla Imenik
}

Bilješka: Objašnjenje koda za gornji isječak je isto kao i za Get-Item naredba osim za Get-ChildItem naredba:

Navedena mapa ne postoji i stoga je stvorena nova mapa.

4. Stvorite mapu ako ne postoji u PowerShell koristeći Test-Path i Mkdir

The mkdir naredba stvara mapu u PowerShellu. Ima alias doktor medicine , koja također funkcionira isto kao i naredba Mkdir. Ova naredba također može stvoriti mapu ako ne postoji kombinacijom naredbe Test-Path i if-else uvjeta.

Evo primjera stvaranja mape ako ne postoji u PowerShell-u pomoću naredbe md i Test-Path:

ako ( Testni put -Staza 'C:\Mapa' ) {

Write-Host 'Mapa već postoji'
}
drugo
{
doktor medicine 'C:\Mapa'
}

Da biste stvorili mapu ako ne postoji:

  • Prvo, stvorite Ako uvjet i navedite Testni put naredbu zajedno s mapom kako biste provjerili postoji li ili ne.
  • Ako mapa postoji, završite kod ovdje i ispišite mapu koja već postoji.
  • Inače, stvorite mapu pomoću doktor medicine naredba navođenjem naziva mape i staze:

Izlaz pokazuje da mapa ne postoji i stoga je stvorena nova mapa.

5. Stvorite mapu ako ne postoji u PowerShell-u pomoću [System.IO.File]::Exists()

The [System.IO.File]::Exists() naredba provjerava postoji li navedena mapa ili ne. Može stvoriti mapu u PowerShell-u ako ne postoji kombinacijom uvjeta if-else i naredbe New-Item.

Ovako možete stvoriti mapu ako ne postoji u PowerShell-u pomoću naredbe [System.IO.File]::Exists():

ako ( [ System.IO.Directory ] ::Postoji ( 'C:\Dokumenti' ) )
{
Write-Host 'Mapa već postoji'
}
drugo
{
Nova stvar 'C:\Dokumenti' -Vrsta artikla Imenik
}

U gornjem kodu:

  • Najprije izradite Ako uvjet i navedite [System.IO.Directory]::Exists(Folder-Path) naredbu unutar njega da biste provjerili postoji li ta mapa ili ne.
  • Ako je direktorij pronađen, tada će konzola ispisati da mapa postoji.
  • Inače će stvoriti tu mapu pomoću Nova stvar naredba:

Navedena mapa ne postoji, a zatim se nova mapa stvara pomoću naredbe New-Item.

Dodatni savjet: stvorite mapu ako već postoji u PowerShell-u

The -Sila parametar s Nova stvar naredba se koristi za prepisivanje postojeće mape u PowerShell-u. Parametar -Force prepisuje postojeću stavku u navedenoj stazi u PowerShell-u. Da biste stvorili mapu ako već postoji, jednostavno dodajte parametar -Force zajedno s naredbom New-Item.

Ovako možete prebrisati postojeću mapu:

Nova stvar -Staza 'C:\Dokument' -Vrsta artikla Imenik -Sila

Da biste stvorili mapu ako već postoji u PowerShell-u:

  • Prvo upotrijebite naredbu New-Item i odredite mapu koja će se stvoriti pomoću parametra -path.
  • Zatim upotrijebite parametar -ItemType i navedite vrijednost da biste rekli konzoli da stvori mapu.
  • Na kraju, za prebrisanje postojeće mape upotrijebite parametar -Force:

Mapa je uspješno prebrisana na navedenoj stazi.

Zaključak

Da biste stvorili mapu ako ne postoji, prvo provjerite postojanje mape pomoću Testni put naredba. Zatim upotrijebite Nova stvar naredba za stvaranje mape, ako ne postoji. Za izvođenje ove operacije u jednom potezu trebate upotrijebiti ako-drugače uvjet zajedno s naredbom Test-Path i New-Item, što sam već demonstrirao u Metodi 1 u ovom članku.