PowerShell Създаване на папка, ако не съществува

Powershell S Zdavane Na Papka Ako Ne S Sestvuva



Имате ли куп папки и искате да създадете нова, но не знаете дали тази вече папка съществува или не? Този процес може да отнеме много време, защото първо ще търсите тази папка, независимо дали съществува или не, и след това ще я създадете, ако не съществува.

Изненадващо, PowerShell може да ви спести много време и усилия, ако знаете малко от скриптовете.







Дръж се! Не е необходимо да научите всичко за скриптовете за тази задача. Тъй като предоставих пет метода за създаване на папка, ако не съществува, с подходящо обяснение на всяка команда, използвана в нея.



Бърз план:



Преди да преминем към скриптове, нека научим как да проверяваме дали дадена папка съществува или не и след това към метод за създаване на папка в PowerShell.





Проверете дали папката вече съществува в PowerShell

The Тестова пътека се използва за проверка дали папката вече съществува в PowerShell. За да проверите дали папката съществува, пътят на папката се посочва в командата Test-Path, като се използва -Пътека параметър. В замяна се връща командата Test-Path Вярно стойност, ако съществува, и Невярно ако не съществува.

Например, нека проверим дали посочената папка съществува или не използва Тестова пътека команда:



Тестова пътека -Пътека 'C:\Документ'

За да проверите съществуването на папката, първо посочете Тестова пътека и предоставете пътя на папката с помощта на -Пътека параметър:

Резултатът е Невярно защото посочената папка не съществува.

Създайте нова папка в PowerShell

The Нов продукт създава нова папка в PowerShell. За да създадете директория, предоставете пътя на директорията към командата New-Item, като използвате -Пътека параметър. Най-важното е да използвате -Тип елемент параметър за създаване на папка и задаване на Справочник стойност. Ако не посочите параметъра -ItemType и стойността на Directory, тогава командата New-Item ще създаде файл вместо папка.

Например, нека създадем нова папка с помощта на Нов продукт команда в PowerShell:

Нов продукт -Пътека 'C:\Документ' -Тип елемент Справочник

За да създадете нова папка:

  • Първо, използвайте Нов продукт команда и укажете пътя на папката, която да бъде създадена към -Пътека параметър.
  • След това посочете Справочник стойност за -Тип елемент параметър, за да кажете на конзолата да създаде папка вместо файл:

Новата папка е създадена и времето за нейното създаване също се вижда в горния изход.

Създайте папка, ако не съществува в PowerShell

От заявката може да се види, че ще бъде ако-иначе сценарий, който гласи, че ако папката не съществува, създайте нова папка. Има пет метода за създаване на папка, ако не съществува в PowerShell, и всеки метод включва сценария на условието if-else.

Бързо решение

Ето бързото решение за създаване на папка, ако не съществува в конзолата на PowerShell:

ако ( -не ( Тестова пътека -Пътека 'C:\NewFolder' ) ) { Нов продукт -Пътека 'C:\NewFolder' -Тип елемент Справочник }

Посочената директория не съществува и следователно е създадена.

1. Създайте папка, ако не съществува в PowerShell, като използвате Test-Path

The Тестова пътека командата проверява съществуването на папката и казва на конзолата дали съществува или не. Командата Test-Path и New-Item заедно с Ако-друго условие помощ за създаване на папка, ако не съществува в PowerShell.

Например, нека наблюдаваме този код, за да създадем папка, ако не съществува, с помощта на командата Test-Path:

ако ( Тестова пътека -Пътека 'C:\NewFolder' ) {

Write-Host „Посочената папка вече съществува“
}
друго
{
Нов продукт -Пътека 'C:\NewFolder' -Тип елемент Справочник
}

За да създадете папка с помощта на Тестова пътека и Нов продукт команда:

  • Първо създадохме Ако състояние, където използвахме Тестова пътека команда и посочи папката с помощта на -Пътека за проверка на съществуването на папки.
  • Ако посочената папка съществува, тогава съобщението ще се покаже с помощта на Write-Host команда, указваща, че папката вече съществува и скриптът ще приключи тук.
  • В противен случай програмата ще премине към следващия раздел.
  • В друго условие използвахме Нов продукт команда и посочи пътя на папката, която да бъде създадена.
  • За да обясним по-ясно конзолата, която създава папка, използвахме -Тип елемент собственост и посочи стойността Справочник :

Изход: Папката не съществува и следователно се създава нова папка в указаната директория.

2. Създайте папка, ако не съществува в PowerShell с помощта на Get-Item

The Get-Item получава файла или папката от посоченото местоположение. Командата Get-Item може също да провери съществуването на папката, като използва условието if.

Ето как можете да създадете папка, ако не съществува в PowerShell, като използвате командата Get-Item:

ако ( Get-Item -Пътека 'C:\Документ' -ErrorAction Игнорирайте ) {
Write-Host „Файлът вече съществува“
}
друго {
Нов продукт - Многословен 'C:\Документ' -Тип елемент Справочник
}

За да създадете папка, ако тя не съществува, използвайте Get-Item команда:

  • Първо създайте Ако състояние, където се използва Get-Item и задайте пътя на папката с помощта на -Пътека параметър, за да проверите дали вече съществува или не.
  • Освен това използвайте -ErrorAction параметър и посочете Игнорирайте стойност за игнориране на грешки, които могат да възникнат по време на изпълнение на кода.
  • Ако папката вече съществува, конзолата ще покаже съобщението, че папката вече съществува с помощта на Write-Host команда.
  • Ако папката не съществува, програмата ще се премести в условието else, където ще бъде създадена новата папка.
  • В условието else използвайте Нов продукт команда, посочете пътя на папката, която да бъде създадена, и използвайте -Тип елемент параметър със стойността Справочник посочени към него.
  • Заедно с него посочете -многословен параметър за получаване на по-подробен изход:

Екранната снимка потвърждава, че посочената папка не съществува и следователно е създадена нова папка.

3. Създайте папка, ако не съществува в PowerShell с помощта на Get-ChildItem

The Get-ChildItem команда получава файловете или папките от дадената директория. Може да се използва с командата New-Item и условието If-else за създаване на папка, ако не съществува в PowerShell.

Ето примерния код за създаване на папка, ако не съществува с помощта на командата Get-ChildItem:

ако ( Get-ChildItem -Пътека 'C:\Документ' -ErrorAction Игнорирайте )
{
Write-Host „Папката вече съществува“
}
друго
{
Нов продукт 'C:\Документ' -Тип елемент Справочник
}

Забележка: Обяснението на кода за горния фрагмент е същото като за Get-Item команда с изключение на Get-ChildItem команда:

Посочената папка не съществува и следователно е създадена нова папка.

4. Създайте папка, ако не съществува в PowerShell, като използвате Test-Path и Mkdir

The mkdir създава папка в PowerShell. Има псевдоним md , която също функционира по същия начин като командата Mkdir. Тази команда може също да създаде папка, ако не съществува, с комбинацията от командата Test-Path и условието if-else.

Ето примера за създаване на папка, ако не съществува в PowerShell с помощта на командата md и Test-Path:

ако ( Тестова пътека -Пътека 'C:\Папка' ) {

Write-Host „Папката вече съществува“
}
друго
{
md 'C:\Папка'
}

За да създадете папка, ако не съществува:

  • Първо създайте Ако състояние и посочете Тестова пътека команда заедно с папката, за да проверите дали съществува или не.
  • Ако папката съществува, завършете кода тук и отпечатайте папката, която вече съществува.
  • В противен случай създайте папка с помощта на md команда, като посочите името на папката и пътя:

Резултатът показва, че папката не съществува и следователно е създадена нова папка.

5. Създайте папка, ако не съществува в PowerShell с помощта на [System.IO.File]::Exists()

The [System.IO.File]::Exists() командата проверява дали посочената папка съществува или не. Той може да създаде папката в PowerShell, ако не съществува, с комбинацията от условието if-else и командата New-Item.

Ето как можете да създадете папка, ако не съществува в PowerShell, като използвате командата [System.IO.File]::Exists():

ако ( [ System.IO.Directory ] ::Съществува ( 'C:\Документи' ) )
{
Write-Host „Папката вече съществува“
}
друго
{
Нов продукт 'C:\Документи' -Тип елемент Справочник
}

В горния код:

  • Първо създайте Ако състояние и посочете [System.IO.Directory]::Exists(Folder-Path) команда вътре в него, за да проверите дали тази папка съществува или не.
  • Ако директорията бъде намерена, тогава конзолата ще отпечата, че папката съществува.
  • В противен случай ще създаде тази папка с помощта на Нов продукт команда:

Посочената папка не съществува и след това се създава нова папка с помощта на командата New-Item.

Бонус съвет: Създайте папка, ако вече съществува в PowerShell

The - Сила параметър с Нов продукт се използва за презаписване на съществуваща папка в PowerShell. Параметърът -Force презаписва съществуващ елемент в посочения път в PowerShell. За да създадете папка, ако вече съществува, просто добавете параметъра -Force заедно с командата New-Item.

Ето как можете да презапишете съществуваща папка:

Нов продукт -Пътека 'C:\Документ' -Тип елемент Справочник - Сила

За да създадете папка, ако вече съществува в PowerShell:

  • Първо използвайте командата New-Item и задайте папката, която да бъде създадена, като използвате параметъра -path.
  • След това използвайте параметъра -ItemType и задайте стойността, за да кажете на конзолата да създаде папка.
  • И накрая, за да презапишете съществуваща папка, използвайте параметъра -Force:

Папката е успешно презаписана в посочения път.

Заключение

За да създадете папка, ако не съществува, първо проверете съществуването на папката, като използвате Тестова пътека команда. След това използвайте Нов продукт команда за създаване на папка, ако не съществува. За да извършите тази операция наведнъж, трябва да използвате ако-иначе условие заедно с командата Test-Path и командата New-Item, които вече демонстрирах в Метод 1 в тази статия.