我执行的形式 rake drive:unit_tests:load_data parameters here'. I get the error
的命令不被识别为cmdlet,函数,脚本文件或可操作程序的名称 . 检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试
我使用了 ps1
文件中的代码:
$dat1 = one ruby command | Out-String
# $dat1 will contain the value - rake drive:unit_tests:load_data
$dat2 = " parameters here"
$dat3 = $dat1 + $dat2
& $dat3
资料来源:Executing a Command stored in a Variable from Powershell
2 回答
看起来PowerShell不理解命令
rake
,这可能意味着它不在你的PATH
中 .跑:
如果这个空白,那么powershell不知道在哪里找到rake . 您可以使用完全限定的路径名来调用它,也可以将rake的位置添加到
PATH
环境变量中 .我终于找到了解决方案 . 帮助我的主要博客是here . 它在powershell中的概念"dynamic code" .
什么没有奏效:
这只打印$ dat3的值,但实际上并不执行它 . 我进一步了解文章并尝试底部的代码 . 成功!!!
什么有效:
相关的powershell概念:命令行解析模式,表达式解析模式在这里阅读 - http://rkeithhill.wordpress.com/2007/11/24/effective-powershell-item-10-understanding-powershell-parsing-modes/