Как вы можете использовать Test-Path (или любую другую функцию), чтобы проверить, существует ли папка, игнорируя любые конечные имена файлов?
Мне нужно это, чтобы проверить, существует ли целевая папка, чтобы записать в нее выходной файл. Мой сценарий принимает параметр «полный путь», такой как «C:\Temp\myexport.csv», и мне нужно только знать, что C:\Temp существует, чтобы иметь возможность создать файл.
Спасибо
Неважно .. Я недостаточно усердно гуглил:
$OutFile = "C:\Temp\myexport.csv"
if (!Test-Path -Path (Split-Path -Path $OutFile)) {
Write-Host "Invalid path"
}
попробуй это :
$OutFile = "C:\Temp\myexport.csv"
$Dir=[System.IO.Path]::GetDirectoryName($OutFile)
if (!(Test-Path $Dir)) {
Write-Host "Invalid path"
}
В качестве небольшой альтернативы вы можете использовать
If(!(Test-Path -Path (Split-Path -Path $OutFile -Parent))) { Throw "$(Split-Path -Path $OutFile -Parent) does not exist." }
, вы можете даже продолжить сElse { If(Test-Path -Path $OutFile) { Throw "$OutFile already exists." } }
.