随笔 - 911  文章 - 5  评论 - 94  阅读 - 243万

浏览打开窗口,打开运行窗口,文件夹

创建浏览打开窗口的函数:

复制代码
1 function Read-FolderBrowserDialog([string]$InitialDirectory)
2 {
3     $app = New-Object -ComObject Shell.Application
4     $folder = $app.BrowseForFolder(0, "Please Select a Folder", 0, $InitialDirectory)
5     if ($folder) { return $folder.Self.Path } else { return "未选中任何文件夹" }
6 }
7 
8 #运行函数
9  Read-FolderBrowserDialog d:\
复制代码

结果:

 $folder = Read-FolderBrowserDialog d:\

 $folder 结果为 选中的文件夹路径

#打开桌面选项
$desktoppath = [Environment]::GetFolderPath("Desktop")
Read-FolderBrowserDialog $desktoppath

 

 $app = New-Object -ComObject Shell.Application

 

浏览文件路径:

复制代码
 1 function Read-OpenFileDialog([string]$InitialDirectory, [string]$Filter = "All files (*.*)|*.*", [switch]$AllowMultiSelect)
 2 {
 3     
 4     Add-Type -AssemblyName System.Windows.Forms
 5     $openFileDialog = New-Object System.Windows.Forms.OpenFileDialog
 6     if ($InitialDirectory.tostring().length -lt 1) { $InitialDirectory = [Environment]::GetFolderPath("Desktop") }
 7     $openFileDialog.InitialDirectory = $InitialDirectory
 8     $openFileDialog.Filter = $Filter
 9     if ($AllowMultiSelect) { $openFileDialog.MultiSelect = $true }
10     $openFileDialog.ShowHelp = $true    # Without this line the ShowDialog() function may hang depending on system configuration and running from console vs. ISE.
11     $openFileDialog.ShowDialog() > $null
12     if ($AllowMultiSelect) { return $openFileDialog.Filenames }
13     else { return $openFileDialog.Filename }
14 }
15 Read-OpenFileDialog "d:\"
复制代码

 

打开“运行”窗口:

$app = New-Object -ComObject Shell.Application
$app.filerun()

 

From: http://blog.vichamp.com/powershell/2013/10/15/powershell-multi-line-input-box-dialog-open-file-dialog-folder-browser-dialog-input-box-and-message-box/

posted on   momingliu11  阅读(521)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2013-08-19 SQL群集多实例卸载、安装
2013-08-19 FTP列出文件列表
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示