[править - комментарий не виден Tuttu
. [* blush *] я оставлю это здесь, но это первый ответ.]
Я думаю, вы ищете командлет Split-Path
. [ ухмылка ] как то так ...
$PathList = @(
'c:\temp\test1\abc.txt'
'c:\temp\test2\subtest2-1\abc2.txt'
'c:\temp\test3\subtest3-1\subtest3-1-1\abc.txt'
)
foreach ($PL_Item in $PathList)
{
$NewDir = Split-Path -Path $PL_Item -Parent
if (-not (Test-Path -LiteralPath $NewDir))
{
$Null = New-Item -Path $NewDir -ItemType Directory -Force
}
}
, который создал 3 новых каталога, два из них с подкаталогами.
обратите внимание, что это НЕ учитывает какой-либо входной путь, у которого нет завершающего файла ... вы всегда получите путь parent .