Import-IseSnippet
將 ISE 代碼段匯入目前的工作階段
語法
FromFolder (預設值)
Import-IseSnippet
[-Path] <String>
[-Recurse]
[<CommonParameters>]
FromModule
Import-IseSnippet
-Module <String>
[-Recurse]
[-ListAvailable]
[<CommonParameters>]
Description
Cmdlet 會將 Import-IseSnippet 可重複使用的文字「代碼段」從模組或目錄匯入目前的會話。 代碼段可立即用於 Windows PowerShell ISE。 此 Cmdlet 僅適用於 Windows PowerShell 整合式腳本環境 (ISE)。
若要檢視和使用匯入的代碼段,請從 Windows PowerShell ISE 編輯 功能表單擊 [ 開始代碼段 ] 或按 Ctrl+J。
匯入的代碼段只能在目前的會話中使用。 若要將代碼段匯入所有 Windows PowerShell ISE 工作階段,請將命令新增 Import-IseSnippet 至 Windows PowerShell 配置檔,或將代碼段檔案複製到本機代碼段目錄 $HOME\Documents\WindowsPowerShell\Snippets。
若要匯入代碼段,這些代碼段必須在 Windows PowerShell ISE 代碼段的代碼段 XML 中正確格式化,並儲存在 Snippet.ps1xml 檔案中。 若要建立合格的代碼段,請使用 New-IseSnippet Cmdlet。
New-IseSnippet 會在目錄中建立 <SnippetTitle>.Snippets.ps1xml 檔案 $HOME\Documents\WindowsPowerShell\Snippets 。 您可以將代碼段移至 Windows PowerShell 模組的 Snippets 目錄,或移至任何其他目錄。
Cmdlet Get-IseSnippet 會取得本機代碼段目錄中的使用者建立代碼段,不會取得匯入的代碼段。
此 Cmdlet 已在 Windows PowerShell 3.0 中引進。
範例
範例 1:從目錄匯入代碼段
此範例會將目錄的代碼段匯 \\Server01\Public\Snippets 入目前的工作階段。 它會使用 Recurse 參數,從 Snippets 目錄的所有子目錄中取得代碼段。
Import-IseSnippet -Path \\Server01\Public\Snippets -Recurse
範例 2:從模組匯入代碼段
此範例會從 SnippetModule 模組匯入代碼段。 此命令會使用 ListAvailable 參數匯入代碼段,即使執行命令時 未將 SnippetModule 模組匯入使用者的工作階段也一樣。
Import-IseSnippet -Module SnippetModule -ListAvailable
範例 3:在模組中尋找代碼段
此範例會取得 PSModulePath 環境變數中所有已安裝模組中的代碼段。
($Env:PSModulePath).Split(";") |
ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} |
ForEach-Object {$_.FullName}
範例 4:匯入所有模組代碼段
此範例會將所有已安裝模組的所有代碼段匯入目前的會話。 一般而言,您不需要執行如下的命令,因為具有代碼段的模組會在匯入模組時使用 Import-IseSnippet Cmdlet 為您匯入它們。
($Env:PSModulePath).Split(";") |
ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} |
ForEach-Object {$psISE.CurrentPowerShellTab.Snippets.Load($_)}
範例 5:複製所有模組代碼段
本範例會將所有已安裝模組 Snippets 的代碼段檔案複製到目前用戶的目錄中。 不同於只影響目前會話的匯入代碼段,每個 Windows PowerShell ISE 會話都有複製的代碼段可供使用。
($Env:PSModulePath).Split(";") |
ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} |
Copy-Item -Destination $HOME\Documents\WindowsPowerShell\Snippets
參數
-ListAvailable
表示此 Cmdlet 會從計算機上安裝的模組取得代碼段,即使模組未匯入目前的會話也一樣。 如果省略此參數,而且 Module 參數所指定的模組不會匯入目前的會話,則嘗試從模組取得代碼段會失敗。
只有當命令中使用 Module 參數時,此參數才有效。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
FromModule
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Module
將指定模組中的代碼段匯入目前的工作階段。 不支援通配符。
這個參數會從 Snippet.ps1xml 模組路徑中 Snippets 子目錄中的檔案匯入代碼段,例如 $HOME\Documents\WindowsPowerShell\Modules\<ModuleName>\Snippets。
此參數的設計目的是要供啟動腳本中的模組作者使用,例如模組指令清單 ScriptsToProcess 中所指定的腳本 索引鍵。 模組中的代碼段不會隨著模組自動匯入,但您可以使用 Import-IseSnippet 命令來匯入它們。
參數屬性
| 類型: | String |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
FromModule
| Position: | Named |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Path
指定此 Cmdlet 匯入代碼段之代碼段目錄的路徑。
參數屬性
| 類型: | String |
| 預設值: | None |
| 支援萬用字元: | True |
| 不要顯示: | False |
參數集
FromFolder
| Position: | 1 |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Recurse
指出此 Cmdlet 會從 Path 參數值的所有子目錄中匯入代碼段。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CommonParameters
此 Cmdlet 支援一般參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。
輸入
None
您不能將物件透過管道傳送到此 Cmdlet。
輸出
None
此 Cmdlet 不會傳回任何輸出。
備註
您無法使用
Get-IseSnippetCmdlet 來取得匯入的代碼段。Get-IseSnippet只會取得目錄中的代碼$HOME\Documents\WindowsPowerShell\Snippets段。Import-IseSnippet會使用 load static 方法的 Microsoft.PowerShell.Host.ISE.ISESnippetCollection 物件。 您也可以在 Windows PowerShell ISE 物件模型中使用代碼段的 Load 方法:$psISE.CurrentPowerShellTab.Snippets.Load()New-IseSnippetCmdlet 會將新的使用者建立代碼段儲存在未簽署的.ps1xml檔案中。 因此,Windows PowerShell 無法將它們載入執行原則 AllSigned 或 Restricted的會話。 在 限制 或 AllSigned 工作階段中,您可以建立、取得和匯入未簽署的使用者建立代碼段,但無法在工作階段中使用它們。若要使用
Import-IseSnippetCmdlet 傳回的未簽署使用者建立代碼段,請變更執行原則,然後重新啟動 Windows PowerShell ISE。如需 Windows PowerShell 執行原則的詳細資訊,請參閱 about_Execution_Policies。