在 PowerShell 中,我输入:
PS C:> sal cdp "cd 'C:\Users\ec\Documents\Visual Studio 2010\Projects'"
我没有得到任何错误,并且
PS C:> gal cdp
显示定义为: cd 'C:\Users\ec\Documents\Visual Studio 2010\Projects'
但是,当我尝试使用 cdp 时,我得到了这个:
无法解析别名“cdp”,因为它引用了术语“cd 'C:\Users\ec\Documents\Visual Studio 2010\Projects'”,而该术语未被识别为 cmdlet、函数、可操作程序或脚本文件。请验证该术语并重试。第 1 行,字符:4
+ cdp <<<<
+ CatergoryInfo : ObjectNotFound (dsp:String) [],CommandNotFoundException
+ FullyQualifiedErrorId : AliasNotResolvedException
我猜这很容易。如果真是这样,我提前道歉。我已经用谷歌搜索了好几次,还读完了 Windows PowerShell Cookbook。
答案1
据我所知,piowershell 中的别名与 unix/linux 类型的 shell 中的行为不同。别名只是键入更长命令的简写方式。对于您正在寻找的功能,定义一个函数可能更容易:
函数 cdp { 设置位置'C:\Users\ec\Documents\Visual Studio 2010\Projects' }
然后,您可以在该行上执行 cdp 以到达所需位置。或者,您可以为该位置创建一个变量,然后 cd 到该变量名称:
$cdp = 'C:\Users\ec\Documents\Visual Studio 2010\Projects'
cd $cdp
对于您要实现的目标来说,这是两个最简单的解决方案。