PowerShell Creați un folder dacă nu există

Powershell Creati Un Folder Daca Nu Exista



Aveți o grămadă de foldere și doriți să creați unul nou, dar nu știți dacă acel folder există sau nu? Acest proces poate dura mult timp, deoarece mai întâi, veți căuta acel folder, indiferent dacă există sau nu, apoi îl veți crea dacă nu există.

În mod surprinzător, PowerShell vă poate economisi mult timp și efort dacă cunoașteți puțin scripting.







Stai! Nu trebuie să înveți întregul scripting pentru acea sarcină. Pentru că am furnizat cinci metode pentru a crea un folder, dacă nu există, cu o explicație adecvată a fiecărei comenzi utilizate în el.



Prezentare rapidă:



Înainte de a trece la scripturi, să învățăm cum să verificăm dacă un folder există sau nu și apoi la o metodă de a crea un folder în PowerShell.





Verificați dacă folderul există deja în PowerShell

The Calea de testare comanda este utilizată pentru a verifica dacă folderul există deja în PowerShell. Pentru a verifica dacă folderul există, calea folderului este specificată pentru comanda Test-Path, folosind -Cale parametru. În schimb, se întoarce comanda Test-Path Adevărat valoare dacă există și Fals dacă nu există.

De exemplu, să verificăm dacă folderul specificat există sau nu folosind Calea de testare comanda:



Calea de testare -Cale „C:\Document”

Pentru a verifica existența folderului, mai întâi, specificați Calea de testare comanda și furnizați calea folderului utilizând -Cale parametru:

Ieșirea este Fals deoarece folderul specificat nu există.

Creați un folder nou în PowerShell

The Articol nou comanda creează un folder nou în PowerShell. Pentru a crea un director, furnizați calea directorului către comanda New-Item folosind -Cale parametru. Cel mai important, utilizați -Categorie de obiect parametrul pentru a crea un folder și pentru a specifica Director valoare. Dacă nu specificați parametrul -ItemType și valoarea Director, atunci comanda New-Item va crea un fișier în loc de un folder.

De exemplu, să creăm un folder nou utilizând Articol nou comandă în PowerShell:

Articol nou -Cale „C:\Document” -Categorie de obiect Director

Pentru a crea un folder nou:

  • În primul rând, utilizați Articol nou comanda și specificați calea folderului care urmează să fie creat în -Cale parametru.
  • După aceea, specificați Director valoare pentru -Categorie de obiect parametru pentru a spune consolei să creeze un folder în loc de un fișier:

Noul folder a fost creat și ora creării acestuia este vizibilă și în rezultatul de mai sus.

Creați un folder dacă nu există în PowerShell

Din interogare, se poate observa că va fi un dacă-altfel scenariu, care afirmă că dacă folderul nu există, atunci creați un folder nou. Există cinci metode de a crea un folder dacă nu există în PowerShell, iar fiecare metodă implică scenariul condiției if-else.

Soluție rapidă

Iată soluția rapidă pentru a crea un folder dacă nu există în consola PowerShell:

dacă ( -nu ( Calea de testare -Cale „C:\NewFolder” ) ) { Articol nou -Cale „C:\NewFolder” -Categorie de obiect Director }

Directorul specificat nu există și, prin urmare, este creat.

1. Creați un folder dacă nu există în PowerShell utilizând Test-Path

The Calea de testare comanda verifică existența folderului și spune consolei dacă există sau nu. Comanda Test-Path și New-Item împreună cu Dacă-altfel condiția ajută la crearea unui folder dacă acesta nu există în PowerShell.

De exemplu, să observăm acest cod pentru a crea un folder dacă nu există folosind comanda Test-Path:

dacă ( Calea de testare -Cale „C:\NewFolder” ) {

Scrie-gazdă „Folderul specificat există deja”
}
altfel
{
Articol nou -Cale „C:\NewFolder” -Categorie de obiect Director
}

Pentru a crea un folder utilizând Calea de testare și Articol nou comanda:

  • În primul rând, am creat un Dacă starea, unde am folosit Calea de testare comanda și a specificat folderul folosind -Cale pentru a verifica existența folderelor.
  • Dacă folderul specificat există, atunci mesajul va fi afișat folosind Scrie-gazdă comandă care afirmă că folderul există deja și scriptul se va încheia aici.
  • În caz contrar, programul va trece la următoarea secțiune.
  • În starea else, am folosit Articol nou comanda și a specificat calea folderului care urmează să fie creat.
  • Pentru a explica mai clar consola care creează un folder, am folosit -Categorie de obiect proprietate și a specificat valoarea Director :

Ieșire: Dosarul nu există și, prin urmare, un nou folder este creat în directorul specificat.

2. Creați un folder dacă nu există în PowerShell utilizând Get-Item

The Obține-Articol comanda primește fișierul sau folderul din locația specificată. Comanda Get-Item poate verifica, de asemenea, existența folderului folosind condiția if.

Iată cum puteți crea un folder dacă nu există în PowerShell folosind comanda Get-Item:

dacă ( Obține-Articol -Cale „C:\Document” -ErorAction Ignora ) {
Scrie-gazdă 'Fisierul există deja'
}
altfel {
Articol nou - Verbos „C:\Document” -Categorie de obiect Director
}

Pentru a crea un folder dacă acesta nu există, utilizați Obține-Articol comanda:

  • Mai întâi, creați un Dacă stare, în cazul în care se utilizează Obține-Articol comanda și specificați calea folderului utilizând -Cale parametru pentru a verifica dacă există deja sau nu.
  • De asemenea, utilizați -ErorAction parametrul și specificați Ignora valoare pentru a ignora erorile care pot apărea în timpul execuției codului.
  • Dacă folderul există deja, consola va afișa mesajul care spune că folderul există deja folosind Scrie-gazdă comanda.
  • Dacă folderul nu există, programul se va muta la starea else în care va fi creat noul folder.
  • În starea else, utilizați Articol nou comanda, specificați calea folderului care trebuie creat și utilizați -Categorie de obiect parametru având valoarea Director specificat acestuia.
  • Alături de acesta, specificați -verbos parametru pentru a obține rezultate mai detaliate:

Captura de ecran confirmă că folderul specificat nu există și, prin urmare, a fost creat un nou folder.

3. Creați un folder dacă nu există în PowerShell utilizând Get-ChildItem

The Get-ChildItem comanda primește fișierele sau folderele din directorul dat. Poate fi folosit cu comanda New-Item și condiția If-else pentru a crea un folder dacă nu există în PowerShell.

Iată exemplul de cod pentru a crea un folder dacă nu există cu ajutorul comenzii Get-ChildItem:

dacă ( Get-ChildItem -Cale „C:\Document” -ErorAction Ignora )
{
Scrie-gazdă „Folderul există deja”
}
altfel
{
Articol nou „C:\Document” -Categorie de obiect Director
}

Notă: Explicația codului pentru fragmentul de mai sus este aceeași ca și pentru Obține-Articol comanda cu excepția Get-ChildItem comanda:

Dosarul specificat nu există și, prin urmare, a fost creat un nou folder.

4. Creați un folder dacă nu există în PowerShell utilizând Test-Path și Mkdir

The mkdir comanda creează un folder în PowerShell. Are un pseudonim md , care funcționează la fel ca și comanda Mkdir. Această comandă poate crea, de asemenea, un folder dacă nu există cu combinația dintre comanda Test-Path și condiția if-else.

Iată un exemplu de creare a unui folder dacă nu există în PowerShell folosind comanda md și Test-Path:

dacă ( Calea de testare -Cale „C:\Folder” ) {

Scrie-gazdă „Folderul există deja”
}
altfel
{
md „C:\Folder”
}

Pentru a crea un folder dacă acesta nu există:

  • Mai întâi, creați Dacă condiția și specificați Calea de testare comandă împreună cu folderul pentru a verifica dacă există sau nu.
  • Dacă folderul există, terminați codul aici și imprimați folderul care există deja.
  • În caz contrar, creați un folder folosind md comandă specificând numele și calea folderului:

Rezultatul arată că folderul nu există și, prin urmare, a fost creat un nou folder.

5. Creați un folder dacă nu există în PowerShell utilizând [System.IO.File]::Exists()

The [System.IO.File]::Există() comanda verifică dacă folderul specificat există sau nu. Poate crea folderul în PowerShell, dacă nu există, cu combinația dintre condiția if-else și comanda New-Item.

Acesta este modul în care puteți crea un folder dacă nu există în PowerShell folosind comanda [System.IO.File]::Exists():

dacă ( [ Director.Sistem.IO ] ::Există ( „C:\Docs” ) )
{
Scrie-gazdă „Folderul există deja”
}
altfel
{
Articol nou „C:\Docs” -Categorie de obiect Director
}

În codul de mai sus:

  • Mai întâi, creați un Dacă condiția și specificați [System.IO.Directory]::Există (Folder-Path) comandă în interiorul acestuia pentru a verifica dacă acel folder există sau nu.
  • Dacă directorul este găsit, atunci consola va imprima că folderul există.
  • În caz contrar, va crea acel folder folosind Articol nou comanda:

Folderul specificat nu există și apoi se creează un folder nou utilizând comanda New-Item.

Sfat bonus: creați un folder dacă acesta există deja în PowerShell

The -Forta parametru cu Articol nou comanda este utilizată pentru a suprascrie un folder existent în PowerShell. Parametrul -Force suprascrie un element existent în calea specificată în PowerShell. Pentru a crea un folder dacă acesta există deja, adăugați pur și simplu parametrul -Force împreună cu comanda New-Item.

Iată cum puteți suprascrie un folder existent:

Articol nou -Cale „C:\Document” -Categorie de obiect Director -Forta

Pentru a crea un folder dacă acesta există deja în PowerShell:

  • Mai întâi, utilizați comanda New-Item și specificați folderul care va fi creat folosind parametrul -path.
  • Apoi, utilizați parametrul -ItemType și specificați valoarea pentru a spune consolei să creeze un folder.
  • În cele din urmă, pentru a suprascrie un folder existent, utilizați parametrul -Force:

Dosarul a fost suprascris cu succes în calea specificată.

Concluzie

Pentru a crea un folder dacă nu există, mai întâi, verificați existența folderului utilizând Calea de testare comanda. Apoi, utilizați Articol nou comandă pentru a crea un folder, dacă acesta nu există. Pentru a efectua această operație dintr-o singură mișcare, trebuie să utilizați dacă-altfel condiție împreună cu comanda Test-Path și comanda New-Item, pe care le-am demonstrat deja în Metoda 1 din acest articol.