簡體   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