[英]Simple PowerShell script refuses to write file when running from command line but works fine in ISE
[英]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.