【发布时间】:2018-10-16 03:08:19
【问题描述】:
我正在尝试为我当前位置下的所有目录生成不带前导“./”的子路径的限定名称:
$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
窗户:
> 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
【问题讨论】:
-
添加
powershell标签,因为这不是严格意义上的核心问题。 -
@TheIncorrigible1 除了我只想要一个核心解决方案,所以我将再次删除标签并编辑问题。
标签: powershell-core