大家好,在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,如需转载请自行联系原作者