我正在使用一个脚本,提示用户选择一个或多个文件夹。代码如下。
$wrkfolder = "C:\MyPC\WorkingFolder" #workfolder starting location
$app = New-Object -ComObject shell.Application
# Display Browse for File to select a folder or ALL folders
$folder = $app.BrowseForFolder(0,"Select Folder -- Cancel to select ALL",0,$wrkfolder)
if ($folder.self.path -ne "") {
$fldr = $folder.Self.Path
$fldrName = $folder.Self.Name
}
目前,提示用户使用文件夹浏览输入对话框,如果用户选择取消,则会在$ wrk文件夹中选择全部文件夹。或者,如果他们选择单个文件夹,它将返回该文件夹。如果用户关闭对话框,则返回$ null(与选择Cancel相同)。
我希望脚本允许用户选择文件夹,选择多个文件夹,选择所有文件夹,然后选择取消以实际关闭对话框&返回一个值,然后我可以退出脚本。
如果不重新发明此表单上的滚轮,是否有一种简单的方法可以通过浏览输入文件夹对话框提示用户&允许他们选择1个以上的文件夹,所有文件夹还是取消脚本?必须有一个比我到目前为止更好的方法来做到这一点。
答案 0 :(得分:1)
除非您运行的是PowerShell V3测试版,否则无法帮助您,但为了将来参考,您可以使用Out-GridView's
新的PassThru
参数,例如:
Get-ChildItem -Directory | Out-GridView -PassThru | ...
Out-GridView
允许多项选择,您也可以通过取消按钮取消整个管道操作。