如何運行PowerShell腳本? shell
powershell.exe 'C:\\my_path\\yada_yada\\run_import_script.ps1'
(帶或不帶--noexit
) 除了輸出文件名外,它什麼都不返回。 app
沒有錯誤,沒有消息,沒有。 哦,當我添加-noexit
,一樣的事情發生了,但我仍然在PowerShell中而且必須手動退出。 框架
.ps1文件應該運行程序並返回依賴於該程序輸出的錯誤級別。 但我很肯定我尚未到達那裏。 異步
我究竟作錯了什麼? spa
給出腳本的路徑,即cmd的路徑設置: code
$> . c:\\program file\\prog.ps1
ip
運行PowerShell的入口點功能: get
例如, $> add or entry_func or main
cmd
導航到腳本所在的目錄 博客
PS> cd C:\\my_path\\yada_yada\\ (enter)
執行腳本:
PS> .\\run_import_script.ps1 (enter)
我錯過了什麼?
或者:您能夠從cmd.exe
運行PowerShell腳本,以下所示:
powershell -noexit "& ""C:\my_path\yada_yada\run_import_script.ps1""" (enter)
根據這篇博客文章
或者您甚至能夠從C#app運行Powershell腳本:-)
若是您使用PowerShell 2.0,請使用PowerShell.exe的-File參數從其餘環境(如cmd.exe)調用腳本,例如:
Powershell.exe -File C:\my_path\yada_yada\run_import_script.ps1
我遇到了一樣的問題,我嘗試過並試過......最後我使用了:
powershell.exe -noexit "& 'c:\Data\ScheduledScripts\ShutdownVM.ps1'"
並將此行放在批處理文件中,這是有效的。
使用cmd(BAT)文件:
@echo off color 1F echo. C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File "PrepareEnvironment.ps1" :EOF echo Waiting seconds timeout /t 10 /nobreak > NUL
若是您須要以管理員身份運行 :