1. 程式人生 > >執行PowerShell指令碼有兩種方式(轉)

執行PowerShell指令碼有兩種方式(轉)

執行PowerShell指令碼有兩種方式.

在執行任何指令碼檔案之前, 你都必須首先設定一個恰當的Execution Policy.

PowerShell指令碼跟Windows CMD一樣, 和MS-DOS批處理一樣, 檔案需要被儲存為.ps1字尾名, 比如說myscript.ps1

最通常的執行指令碼的方法是呼叫它:

PS C:\> & "C:\Belfry\My first Script.ps1"

注意: 這裡的"&"操作符能允許你呼叫一個命令, 指令碼, 或函式. 比如:

PS C:\> & "C:\Program files\mycommand.exe"

PS C:\> $runMyProg = "C:\Program files\mycommand.exe" 
PS C:\> & $runMyProg

PS C:\> $myPing = Get-Command -commandType Application Ping 
PS C:\> & $myPing

如果路徑不包含任何的空格, 那麼你就可以忽略引號和'&'操作符.

PS C:\> C:\Belfry\Myscript.ps1

如果指令碼就在當前路徑下, 你必須使用符號".\"來告訴PowerShell該指令碼就在當前路徑下.

PS C:\> .\Myscript.ps1

Dot Sourcing

=====================

當使用上面的語法執行指令碼的時候, 指令碼中定義的變數和函式會在指令碼執行結束後消失.

但, 如果你使用dot sourcing來執行指令碼的時候, 所有指令碼中定義的變數和函式會在指令碼執行結束後依然存在.

舉例執行dot-sourcing指令碼.

PS C:\> . "C:\Belfry\My first Script.ps1"

舉例執行dot-sourcing在當前路徑下的指令碼.

PS C:\> . .\Myscript.ps1"

參考資料

=====================

Run a PowerShell script

Using the Set-ExecutionPolicy Cmdlet