執行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:\> & $runMyProgPS 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