繁体   English   中英

PowerShell:从 Visual Studio Code 运行脚本有效,从 PS 命令行运行失败

[英]PowerShell: Running Script from Visual Studio Code Works, Running from PS Command Line Fails

我有一个 PowerShell 脚本,我在 Visual Studio Code 中开发和测试了该脚本,该脚本运行无误。 但是,当我尝试从 PowerShell 命令行运行相同的脚本时,它失败并出现几个错误,第一个是关于在脚本的第一行使用 Param 的抱怨。 我的机器上安装了 PS 5.1。

从命令行启动时,这是我执行的:

powershell -ExecutionPolicy Bypass -File Export_PI.ps1 -Project Catalyst-DHT

当我从 Visual Studio Code 运行此脚本时,我用硬编码值代替参数-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 大师,所以这很可能是一个新手错误。 我希望有人能帮我弄清楚。 谢谢。

线

我的机器上安装了 PS 5.1。

很可能是您遇到的问题。 VSC 使用 PowerShell 内核 (6 <=) 而不是 PowerShell 桌面 (6 >)

还有线

$ProjectName = Param([String]$Project)

不正确,因为您没有将Param分配给变量,而是将其用作根据提供的 arguments 分配变量的语句。 你会想要

Param([String]$ProjectName)

作为脚本的第一行。 与错误状态一样, Param不是 cmdlet、function、脚本文件或在脚本顶部不单独使用时可运行的程序的名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM