PowerShell:来自 Visual Studio 代码的 运行 脚本有效,来自 PS 命令行的 运行 失败
PowerShell: Running Script from Visual Studio Code Works, Running from PS Command Line Fails
我有一个 PowerShell 脚本,它是我在 Visual Studio 代码中开发和测试的,运行 没有错误。但是,当我尝试从 PowerShell 命令行 运行 相同的脚本时,它失败并出现几个错误,第一个是关于在脚本的第一行使用 Param 的投诉。我的机器上安装了 PS 5.1。
从命令行启动时,这是我执行的:
powershell -ExecutionPolicy Bypass -File Export_PI.ps1 -Project Catalyst-DHT
当我 运行 这个来自 Visual Studio 代码的脚本时,我用一个硬编码值代替参数 -Project
用于测试目的。当我从 PS 命令行 运行 它时,这是我得到的第一个错误:
Param : The term 'Param' is not recognized as the name of a cmdlet, function, script file, or operable program.
我在别处读到,当 Param() 不是脚本中的第一个非注释行时,通常会发生这种情况。在我的脚本中,它是第一个非注释行:
$ProjectName = Param([String]$Project)
我不是 PowerShell 高手,所以这很可能是新手犯的错误。我希望有人能帮我弄清楚。谢谢。
行
I have PS 5.1 installed on my machine.
很可能是您遇到的问题。 VSC 使用 PowerShell Core (6 <=) 而不是 PowerShell Desktop (6 >)
也行
$ProjectName = Param([String]$Project)
不正确,因为您没有将 Param
分配给变量,而是将其用作根据提供的参数分配变量的语句。你会想要
Param([String]$ProjectName)
作为脚本的第一行。与错误状态一样,Param
不是在脚本顶部单独使用时的 cmdlet、函数、脚本文件或可运行程序的名称。
我有一个 PowerShell 脚本,它是我在 Visual Studio 代码中开发和测试的,运行 没有错误。但是,当我尝试从 PowerShell 命令行 运行 相同的脚本时,它失败并出现几个错误,第一个是关于在脚本的第一行使用 Param 的投诉。我的机器上安装了 PS 5.1。
从命令行启动时,这是我执行的:
powershell -ExecutionPolicy Bypass -File Export_PI.ps1 -Project Catalyst-DHT
当我 运行 这个来自 Visual Studio 代码的脚本时,我用一个硬编码值代替参数 -Project
用于测试目的。当我从 PS 命令行 运行 它时,这是我得到的第一个错误:
Param : The term 'Param' is not recognized as the name of a cmdlet, function, script file, or operable program.
我在别处读到,当 Param() 不是脚本中的第一个非注释行时,通常会发生这种情况。在我的脚本中,它是第一个非注释行:
$ProjectName = Param([String]$Project)
我不是 PowerShell 高手,所以这很可能是新手犯的错误。我希望有人能帮我弄清楚。谢谢。
行
I have PS 5.1 installed on my machine.
很可能是您遇到的问题。 VSC 使用 PowerShell Core (6 <=) 而不是 PowerShell Desktop (6 >)
也行
$ProjectName = Param([String]$Project)
不正确,因为您没有将 Param
分配给变量,而是将其用作根据提供的参数分配变量的语句。你会想要
Param([String]$ProjectName)
作为脚本的第一行。与错误状态一样,Param
不是在脚本顶部单独使用时的 cmdlet、函数、脚本文件或可运行程序的名称。