PowerShell 该术语未被识别为 cmdlet 函数脚本文件或可运行程序
Posted
技术标签:
【中文标题】PowerShell 该术语未被识别为 cmdlet 函数脚本文件或可运行程序【英文标题】:PowerShell The term is not recognized as cmdlet function script file or operable program 【发布时间】:2014-08-01 03:05:08 【问题描述】:我在 powershell 中实现一个脚本并得到以下错误。屏幕截图正是我输入的内容以及由此产生的错误。
在这个路径有我从Technet Gallery 得到的文件Get-NetworkStatistics.ps1
。尽管有错误,但我正在按照它的步骤操作。
【问题讨论】:
截图无效 相关帖子 - Error: The term './RunCommandLine.ps1' is not recognized as the name of a cmdlet, function, script file, or operable program 【参考方案1】:你首先必须'点'源脚本,所以对你来说:
. .\Get-NetworkStatistics.ps1
第一个“点”要求 PowerShell 将脚本文件加载到您的 PowerShell 环境中,而不是启动它。您还应该使用set-ExecutionPolicy Unrestricted
或set-ExecutionPolicy AllSigned
请参阅(the Execution Policy instructions)。
【讨论】:
【参考方案2】:为了搜索者的利益,还有另一种方法可以生成此错误消息 - 在调用它时忽略脚本块名称中的 $。
例如我有一个这样的脚本块:
$qa =
param($question, $answer)
Write-Host "Question = $question, Answer = $answer"
我尝试使用以下方式调用它:
&qa -question "Do you like powershell?" -answer "Yes!"
但那是错误的。正确的做法是:
&$qa -question "Do you like powershell?" -answer "Yes!"
【讨论】:
【参考方案3】:出现此错误消息的另一种方式...
如果 PowerShell 在目标文件以外的目录中打开,例如:
如果someScript.ps1
位于此处:C:\SlowLearner\some_missing_path\someScript.ps1
,那么C:\SlowLearner>. ./someScript.ps1
将不起作用。
在这种情况下,导航到路径: cd some_missing_path
然后这样就可以了:
C:\SlowLearner\some_missing_path>. ./someScript.ps1
【讨论】:
嗯,是的,因为在路径中,.
表示“当前目录”。如果您不尝试使用当前目录中的某些内容,那么 .
将是无效路径。您不需要切换目录以便.
工作,只需指定一个实际有效的路径:. C:\SlowLearner\some_missing_path\someScript.ps1
@AndrewF - 确实如此。其目的只是为了说明这种错误是如何产生的。以上是关于PowerShell 该术语未被识别为 cmdlet 函数脚本文件或可运行程序的主要内容,如果未能解决你的问题,请参考以下文章
行为:术语“行为”未被识别为 cmdlet Python Selenium 的名称
ng :术语“ng”未被识别为 cmdlet 的名称,函数 Visual Studio 代码终端
ssh:术语“ssh”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称