大家好,在PowerShell中,使用的GUI元素,以請求使用者輸入。
它是可以從頭開始建立自己的表單,也有許多有用的預先内置對話框。
在這篇文章中,我将向你展示如何使用System.Windows.Forms.OpenFileDialog選擇一個或多個檔案。
下面的代碼将打開一個視窗,将提示使用者選擇一個檔案。InitialDirectory屬性設定,啟動目錄将被設定為目前使用者的桌面。
這是通過使用[Environment][環境]桌上型電腦特殊的檔案夾:
1
2
3
4
5
6
<code>Add-Type</code> <code>-AssemblyName</code> <code>System.Windows.Forms</code>
<code>$FileBrowser</code> <code>= </code><code>New-Object</code> <code>System.Windows.Forms.OpenFileDialog</code> <code>-Property</code> <code>@{</code>
<code> </code><code>InitialDirectory = </code><code>[Environment]</code><code>::GetFolderPath(</code><code>'Desktop'</code><code>)</code>
<code>}</code>
<code>[void]</code><code>$FileBrowser</code><code>.ShowDialog()</code>
<code>$FileBrowser</code><code>.FileNames</code>
<a target="_blank" href="http://blog.51cto.com/attachment/201307/140212813.png"></a>
如果檔案需要被選中,它可以通過設定過濾器,設定起始檔案夾的檔案夾,這樣我們就可以確定隻有特定類型的檔案被選中。
下面的代碼示例将允許使用者選擇.docx檔案。過濾器可以改變使用者還可以選擇一個xlsx檔案:
7
<code> </code><code>InitialDirectory = </code><code>[Environment]</code><code>::GetFolderPath(</code><code>'MyDocuments'</code><code>)</code>
<code> </code><code>Filter</code> <code>= </code><code>'Documents (*.docx)|*.docx|SpreadSheet (*.xlsx)|*.xlsx'</code>
要選擇多個檔案MultiSelect屬性設定為True。
8
<code> </code>
<code> </code><code>Multiselect = </code><code>$true</code>
這個類的更多資訊,可以使用下面的MSDN文章:
<a href="http://msdn.microsoft.com/zh-cn/library/system.windows.forms.openfiledialog.aspx">http://msdn.microsoft.com/zh-cn/library/system.windows.forms.openfiledialog.aspx</a>
希望大家和Cantgis 一起掌握此類的使用方法。
本文轉自cantgis 51CTO部落格,原文連結:http://blog.51cto.com/cantgis/1239294,如需轉載請自行聯系原作者