我已将以下内容放入$PROFILE
:
function dir
{
Get-ChildItem -Force $args
}
我想要的是一个简单的" dir"列出所有文件的命令,包括隐藏文件和系统文件。
然而,只要我传递一些参数:
dir \ -Directory
我获得了我的root的完整列表,然后是这个错误:
Get-ChildItem:无法找到路径' C:\ Users \ myuser-Directory'因为 它不存在。
我的意图当然是我的小家伙"别名"会扩展到这个:
Get-ChildItem -Force \ -Directory
但是#34; -Directory"被视为字符串文字。如何使我的dir函数按照我的意图传递参数(而不是字符串数组)?
答案 0 :(得分:1)
$args
是一个数组。如果您这样使用它:
Get-ChildItem -Force $args
它就像你这样做一样:
Get-ChildItem -Force -Path '\', '-Directory'
有效(在某种程度上),因为参数-Path
接受数组输入。
使用splatting来避免这个陷阱:
Get-ChildItem -Force @args