在我在教程和书籍中看到的大多数示例中,默认情况下几乎从不使用-LiteralPath选项(-Path选项似乎是首选)。因为-LiteralPath选项允许使用保留字符(例如[]),所以我不明白为什么它不经常使用(如果没有,一直使用)。是因为它首选手动转义保留字符,因为它具有较高的性能成本,因为并非所有cmdlet都支持此选项或因为其他内容?
答案 0 :(得分:3)
要考虑的一件事是-Path
最有可能是通过管道传入字符串时使用的参数。
例如,查看Get-Item
cmdlet:
-LiteralPath <string[]> Required? true Position? Named Accept pipeline input? true (ByPropertyName) Parameter set name LiteralPath Aliases PSPath Dynamic? false -Path <string[]> Required? true Position? 0 Accept pipeline input? true (ByValue, ByPropertyName) Parameter set name Path Aliases None Dynamic? false
管道输入一个字符串可以获得-Path
。您的对象必须具有LiteralPath
(或PSPath
)Get-Item
属性才能使用它。如果您的对象同时使用,则使用-Path
。
我想这并不一定能回答这个问题;它有点循环说'#34; -Path
被更频繁地使用,因为它更受欢迎&#34;。一个更好的问题可能是,&#34;为什么-Path
首先表现得像-LiteralPath
?&#34;