shell入門 - windows powershell是什麼




如何運行PowerShell腳本? (8)

我如何運行PowerShell腳本?

  • 我有一個名為myscript.ps1的腳本
  • 我安裝了所有必要的框架
  • 我設置了執行策略
  • 我已經按照這個MSDN幫助頁面上的說明進行操作,並嘗試像這樣運行它: powershell.exe 'C:\my_path\yada_yada\run_import_script.ps1' (with or withot --noexit)

除了輸出文件名外,它完全不返回任何內容。 沒有錯誤,沒有信息,什麼都沒有。 哦,當我添加-noexit ,同樣的事情發生,但我仍然在PowerShell中,並且必須手動退出。

ps1文件應該運行一個程序,並返回依賴於該程序輸出的錯誤級別。 但我很確定我還沒有到達那裡。

我究竟做錯了什麼?


  1. 啟動Windows PowerShell,然後等待PS命令提示符出現
  2. 瀏覽到腳本所在的目錄

    PS> cd C:\my_path\yada_yada\ (enter)
    
  3. 執行腳本:

    PS> .\run_import_script.ps1 (enter)
    

我在想什麼?

或者:您可以像這樣從cmd.exe運行PowerShell腳本:

powershell -noexit "& ""C:\my_path\yada_yada\run_import_script.ps1""" (enter)

根據這篇博文在這裡

或者你甚至可以從你的C#應用程序運行你的Powershell腳本:-)

異步執行C#應用程序中的PowerShell腳本


一個簡單的方法是使用PowerShell ISE ,打開腳本,運行並調用腳本,函數...


如果你只有PowerShell 1.0 ,這似乎足夠好用了:

powershell -command - < c:\mypath\myscript.ps1

它將腳本文件傳輸到PowerShell命令行。


如果您使用PowerShell 2.0,請使用PowerShell.exe的-File參數從另一個環境(如cmd.exe)調用腳本,例如:

Powershell.exe -File C:\my_path\yada_yada\run_import_script.ps1

如果要在不修改默認腳本執行策略的情況下運行腳本,則可以在啟動Windows PowerShell時使用旁路開關。

powershell [-noexit] -executionpolicy bypass -File <Filename>

我遇到了同樣的問題,我嘗試著嘗試......最後我用了:

powershell.exe -noexit "& 'c:\Data\ScheduledScripts\ShutdownVM.ps1'"

並把這一行放在一個批處理文件中,這是有效的。


類型:

powershell -executionpolicy bypass -File .\Test.ps1

注意:這裡Test.ps1是PowerShell腳本。


  • 給出腳本的路徑,即通過cmd設置路徑:

    $> . c:\program file\prog.ps1

  • 運行PowerShell的入口點函數:

    例如, $> add or entry_func or main





scripting