当我输入iex -S mixPowerShell时,我收到此错误:
Invoke-Expression : A positional parameter cannot be found that accepts argument 'mix'.
At line:1 char:1
+ iex S mix
+ ~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Invoke-Expression], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.InvokeExpressionCommand
Run Code Online (Sandbox Code Playgroud)
在'iex'命令之后编写'-S mix'以获得在cmd中输入相同效果的正确方法是什么?我不相信PowerShell语法,这是一个问题.
Pau*_*cks 10
问题是它iex是Powershell中的别名,简称Invoke-Expression.如果您正在尝试运行命令iex.exe,iex.bat或者iex.cmd您必须以某种独特的方式指定它:显式(或完整)路径,甚至只是添加应用程序的扩展名就足够了.这样,Powershell就不会试图逃跑Invoke-Expression.
Get-Command 可以为你清除这种事情:
PS C:\Dir> Get-Command iex
CommandType Name ModuleName
----------- ---- ----------
Alias iex -> Invoke-Expression
PS C:\Dir> Get-Command cmd
CommandType Name ModuleName
----------- ---- ----------
Application cmd.exe
Run Code Online (Sandbox Code Playgroud)
似乎无法同时列出命令类型和路径:如果要查看哪个iex是哪个,可以使用以下格式:
PS C:\Dir> Get-Command -All iex -Syntax
Invoke-Expression
C:\windows\iex.bat
Run Code Online (Sandbox Code Playgroud)
您可以找到有关Powershell如何决定在Microsoft的technet库中运行哪个命令的更多信息.