Проверка существования директории

PowerShell:
Проверка существования директории

Как:

Используйте командлет Test-Path для проверки на существование директории. Это командлет возвращает булево значение: $true, если директория существует, и $false, если нет.

# Проверка существования директории
$directoryPath = "C:\ExampleFolder"
$exists = Test-Path $directoryPath
Write-Output $exists  # Выводит True или False

Пример вывода:

True

или если директории не существует:

False

Вы также можете использовать его напрямую в условном операторе if:

# Использование Test-Path в условном операторе
if (Test-Path $directoryPath) {
    Write-Output "Ага, она тут."
} else {
    Write-Output "Неа, не нахожу."
}

Подробнее

Командлет Test-Path существует начиная с PowerShell v1.0. Это не просто утилита для одной задачи; наряду с директориями, он может использоваться для проверки файлов, ключей реестра и других объектов через различные ‘пути’.

Есть альтернативы. PowerShell построен на .NET Framework, так что вы могли бы использовать методы .NET, если захотите:

[system.io.directory]::Exists($directoryPath)

Это служит той же цели, но работает “длинным путём”. Зачем заморачиваться, когда Test-Path создан для таких задач?

С точки зрения реализации, проверка на существование директории перед выполнением операций является лучшей практикой. Речь идет о предсказуемости. Вы ведь не станете гонять в гонках на пустом баке, верно? Так и с чтением из или записью в несуществующую директорию.

См. также

Для получения дополнительной информации изучите следующие ссылки: