Я пытаюсь найти способ получения квалифицированных имен подпутей без начального "./" для всех каталогов в моем текущем местоположении:
$dirs = Get-ChildItem -Directory -Recurse .
Я бы использовал Resolve-Path -Relative
но следующее место, где мне нужен результат - строка без ./
.
Не прибегая к махинациям со строковыми манипуляциями (я мог бы разделить каждый путь, отрезать первый элемент и затем присоединиться к нему)снова вместе, но юк!)
Примечание: я использую эту кроссплатформенность, поэтому любое решение должно работать под ядром.
---- Редактировать: Примеры ----
Linux:
> cd /proc/sys
> Function GetIPV6 { gci -r -dir |? name -eq 'ipv6' }
> GetIPV6 | Resolve-Path -Relative
./net/ipv6 # << has a leading './' I want to avoid
> (GetIPV6).FullName
/proc/sys/net/ipv6 # << full path, not sub path
Я ищу следующее:
> cd /proc/sys
> GetIPV6 | ???
net/ipv6
Windows:
> cd /windows/system32
> Function GetETC { gci -r -dir |? name -eq "etc" }
> GetETC | resolve-path -relative
.\Drivers\etc #< has leading .\
> (GetETC).FullName
C:\Windows\System32\Drivers\etc #< full path
То, что я хочу, это
> GetETC | ???
Drivers\etc or Drivers/etc