gpt4 book ai didi

Powershell:将多行字符串通过管道传递到解析路径的 -LiteralPath

转载 作者:行者123 更新时间:2023-12-03 01:00:23 27 4
gpt4 key购买 nike

使用 Powershell,我想将一堆绝对路径转换为相对路径:

cmd /c dir /s /b /a-d | resolve-path -relative | sort-object

但是,目录中有许多有趣的字符使 Resolve-Path 认为它们是通配符模式。

如何通过管道将它们传送到解析路径的 -LiteralPath ?
我读到它应该由 ByPropertyName 管道完成,并且应该将值放入输入对象的“LiteralPath”属性中。

但我不知道怎么做。网上的文章把我搞糊涂了。

请帮助,非常感谢。

最佳答案

指定管道输入值应绑定(bind)到 LiteralPath相反,像这样:

cmd /c dir /s /b /a-d|Resolve-Path -LiteralPath {$_} -Relative

虽然,如果您只想通过目录树进行递归,收集所有文件并解析它们的相对路径,请使用 Get-ChildItem相反 - LiteralPath内置 cmdlet 上的参数始终使用别名 PSPath ,这恰好是提供者添加到所有驱动器项的属性的名称,从而使管道绑定(bind)自动工作:
Get-ChildItem -File -Recurse |Resolve-Path -Relative 
# Explicit binding to LiteralPath no longer required

关于Powershell:将多行字符串通过管道传递到解析路径的 -LiteralPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57323379/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com