PowerShell Skapa mapp om den inte finns

Powershell Skapa Mapp Om Den Inte Finns



Har du ett gäng mappar och vill skapa en ny, men vet inte om den mappen redan finns eller inte? Den här processen kan ta mycket tid eftersom du först kommer att söka efter den mappen, oavsett om den finns eller inte, och sedan skapa den om den inte finns.

Överraskande nog kan PowerShell spara dig mycket tid och ansträngning om du kan lite skript.







Vänta! Du behöver inte lära dig hela skriptet för den uppgiften. Eftersom jag har tillhandahållit fem metoder för att skapa en mapp om den inte finns med en korrekt förklaring av varje kommando som används i den.



Snabb översikt:



Innan vi går mot skript, låt oss lära oss hur man kontrollerar om en mapp finns eller inte och sedan till en metod för att skapa en mapp i PowerShell.





Kontrollera om mappen redan finns i PowerShell

De Test-Path kommandot används för att kontrollera om mappen redan finns i PowerShell. För att kontrollera om mappen finns specificeras mappsökvägen till kommandot Test-Path med hjälp av -Väg parameter. I gengäld återvänder kommandot Test-Path Sann värde om det finns, och Falsk om det inte finns.

Låt oss till exempel kontrollera om den angivna mappen finns eller inte använder Test-Path kommando:



Test-Path -Väg 'C:\Document'

För att kontrollera att mappen finns, ange först Test-Path kommandot och ange mappsökvägen med hjälp av -Väg parameter:

Utgången är Falsk eftersom den angivna mappen inte finns.

Skapa en ny mapp i PowerShell

De Nytt föremål kommandot skapar en ny mapp i PowerShell. För att skapa en katalog, ange katalogsökvägen till kommandot New-Item med hjälp av -Väg parameter. Viktigast av allt, använd -Objekttyp parameter för att skapa en mapp och ange Katalog värde. Om du inte anger parametern -ItemType och katalogvärdet, kommer kommandot New-Item att skapa en fil istället för en mapp.

Låt oss till exempel skapa en ny mapp med hjälp av Nytt föremål kommando i PowerShell:

Nytt föremål -Väg 'C:\Document' -Objekttyp Katalog

Så här skapar du en ny mapp:

  • Använd först Nytt föremål kommandot och ange mappsökvägen som ska skapas till -Väg parameter.
  • Efter det, specificera Katalog värde till -Objekttyp parameter för att tala om för konsolen att skapa en mapp istället för en fil:

Den nya mappen har skapats och dess skapelsetid är också synlig i ovanstående utdata.

Skapa en mapp om den inte finns i PowerShell

Från frågan kan det observeras att det kommer att bli en om annat scenario, som säger att om mappen inte finns skapa en ny mapp. Det finns fem metoder för att skapa en mapp om den inte finns i PowerShell, och varje metod involverar scenariot if-else.

Snabb lösning

Här är den snabba lösningen för att skapa en mapp om den inte finns i PowerShell-konsolen:

om ( -inte ( Test-Path -Väg 'C:\NewFolder' ) ) { Nytt föremål -Väg 'C:\NewFolder' -Objekttyp Katalog }

Den angivna katalogen finns inte och därför skapas den.

1. Skapa mapp om den inte finns i PowerShell med hjälp av Test-Path

De Test-Path kommandot kontrollerar att mappen finns och talar om för konsolen om den finns eller inte. Kommandot Test-Path och New-Item tillsammans med Om annat condition hjälper till att skapa en mapp om den inte finns i PowerShell.

Låt oss till exempel observera den här koden för att skapa en mapp om den inte finns med kommandot Test-Path:

om ( Test-Path -Väg 'C:\NewFolder' ) {

Skriv-värd 'Specificerad mapp finns redan'
}
annan
{
Nytt föremål -Väg 'C:\NewFolder' -Objekttyp Katalog
}

För att skapa en mapp med hjälp av Test-Path och Nytt föremål kommando:

  • Först skapade vi en Om skick, där vi använde Test-Path kommandot och angav mappen med hjälp av -Väg för att kontrollera att mappar finns.
  • Om den angivna mappen finns, kommer meddelandet att visas med hjälp av Skriv-värd kommando som anger att mappen redan finns och att skriptet slutar här.
  • Annars flyttas programmet till nästa avsnitt.
  • I annat skick använde vi Nytt föremål kommandot och angav den mappsökväg som ska skapas.
  • För att tydligare förklara konsolen som skapar en mapp använde vi -Objekttyp egendom och angav värdet Katalog :

Produktion: Mappen finns inte och därför skapas en ny mapp i den angivna katalogen.

2. Skapa mapp om den inte finns i PowerShell med Get-Item

De Get-Item kommandot hämtar filen eller mappen från den angivna platsen. Kommandot Get-Item kan också kontrollera förekomsten av mappen med hjälp av if-villkoret.

Så här kan du skapa en mapp om den inte finns i PowerShell med kommandot Get-Item:

om ( Get-Item -Väg 'C:\Document' -Felåtgärd Ignorera ) {
Skriv-värd 'Filen finns redan'
}
annan {
Nytt föremål -Mångordig 'C:\Document' -Objekttyp Katalog
}

För att skapa en mapp om den inte finns använd Get-Item kommando:

  • Skapa först en Om skick, där använda Get-Item kommandot och ange mappsökvägen med hjälp av -Väg parameter för att kontrollera om den redan finns eller inte.
  • Använd också -Felåtgärd parameter och ange Ignorera värde för att ignorera fel som kan uppstå under kodexekveringen.
  • Om mappen redan finns kommer konsolen att visa meddelandet som säger att mappen redan finns med hjälp av Skriv-värd kommando.
  • Om mappen inte finns kommer programmet att flyttas till det andra tillståndet där den nya mappen skapas.
  • I annat tillstånd, använd Nytt föremål kommandot, ange mappsökvägen som ska skapas och använd -Objekttyp parameter som har värdet Katalog specificeras till den.
  • Bredvid den, specificera -mångordig parameter för att få mer detaljerad utdata:

Skärmdumpen bekräftar att den angivna mappen inte existerar och därför skapades en ny mapp.

3. Skapa mapp om den inte finns i PowerShell med Get-ChildItem

De Get-ChildItem kommandot hämtar filerna eller mapparna från den givna katalogen. Den kan användas med kommandot New-Item och If-else-villkoret för att skapa en mapp om den inte finns i PowerShell.

Här är exempelkoden för att skapa en mapp om den inte finns med hjälp av kommandot Get-ChildItem:

om ( Get-ChildItem -Väg 'C:\Document' -Felåtgärd Ignorera )
{
Skriv-värd 'Mapp finns redan'
}
annan
{
Nytt föremål 'C:\Document' -Objekttyp Katalog
}

Notera: Kodförklaringen för ovanstående kodavsnitt är densamma som för Get-Item kommando utom för Get-ChildItem kommando:

Den angivna mappen finns inte och därför skapades en ny mapp.

4. Skapa en mapp om den inte finns i PowerShell med hjälp av Test-Path och Mkdir

De mkdir kommandot skapar en mapp i PowerShell. Den har ett alias md , som också fungerar på samma sätt som Mkdir-kommandot gör. Detta kommando kan också skapa en mapp om den inte existerar med kombinationen av kommandot Test-Path och if-else-villkoret.

Här är exemplet på att skapa en mapp om den inte finns i PowerShell med md och Test-Path-kommandot:

om ( Test-Path -Väg 'C:\Folder' ) {

Skriv-värd 'Mapp finns redan'
}
annan
{
md 'C:\Folder'
}

Så här skapar du en mapp om den inte finns:

  • Skapa först Om skick och ange Test-Path kommando tillsammans med mappen för att kontrollera om den finns eller inte.
  • Om mappen finns, avsluta koden här och skriv ut mappen som redan finns.
  • Annars skapar du en mapp med hjälp av md kommando genom att ange mappnamnet och sökvägen:

Utdata visar att mappen inte existerar och därför skapades en ny mapp.

5. Skapa mapp om den inte finns i PowerShell med [System.IO.File]::Exists()

De [System.IO.File]::Exists() kommandot kontrollerar om den angivna mappen finns eller inte. Det kan skapa mappen i PowerShell om den inte existerar med kombinationen av if-else-villkoret och New-Item-kommandot.

Så här kan du skapa en mapp om den inte finns i PowerShell med kommandot [System.IO.File]::Exists():

om ( [ System.IO.Katalog ] ::Existerar ( 'C:\Docs' ) )
{
Skriv-värd 'Mapp finns redan'
}
annan
{
Nytt föremål 'C:\Docs' -Objekttyp Katalog
}

I ovanstående kod:

  • Skapa först en Om skick och ange [System.IO.Directory]::Exists(Folder-Path) kommando inuti den för att kontrollera om den mappen finns eller inte.
  • Om katalogen hittas kommer konsolen att skriva ut att mappen finns.
  • Annars kommer den att skapa den mappen med hjälp av Nytt föremål kommando:

Den angivna mappen finns inte och sedan skapas en ny mapp med kommandot New-Item.

Bonustips: Skapa en mapp om den redan finns i PowerShell

De -Tvinga parameter med Nytt föremål kommandot används för att skriva över en befintlig mapp i PowerShell. Parametern -Force skriver över ett befintligt objekt i den angivna sökvägen i PowerShell. För att skapa en mapp om den redan finns, lägg helt enkelt till parametern -Force tillsammans med kommandot New-Item.

Så här kan du skriva över en befintlig mapp:

Nytt föremål -Väg 'C:\Document' -Objekttyp Katalog -Tvinga

Så här skapar du en mapp om den redan finns i PowerShell:

  • Använd först kommandot New-Item och ange mappen som ska skapas med parametern -path.
  • Använd sedan parametern -ItemType och ange värdet för att tala om för konsolen att skapa en mapp.
  • Slutligen, för att skriva över en befintlig mapp använd parametern -Force:

Mappen har skrivits över i den angivna sökvägen.

Slutsats

För att skapa en mapp om den inte finns, kontrollera först mappens existens med hjälp av Test-Path kommando. Använd sedan Nytt föremål kommando för att skapa en mapp, om den inte finns. För att utföra denna operation på en gång måste du använda om annat skick tillsammans med kommandot Test-Path och New-Item-kommandot, som jag redan demonstrerat i metod 1 i den här artikeln.