<#
Function Name : Select-FolderDialog
pram 1 : $Description = "フォルダーを選択して下さい"
: ダイアログへ説明文を追加
pram 2 : $RootFolder = "Desktop"
: 表示開始のフォルダーを指定
サンプル ( Desktop, Programs, MyDocuments, Personal, Favorites, Startup, Recent, SendTo,
StartMenu, MyMusic, MyVideos, DesktopDirectory, MyComputer, NetworkShortcuts,
Fonts, Templates, CommonStartMenu, CommonPrograms, CommonStartup,
CommonDesktopDirectory, ApplicationData, PrinterShortcuts, LocalApplicationData,
InternetCache, Cookies, History, CommonApplicationData, Windows, System,
ProgramFiles, MyPictures, UserProfile, SystemX86, ProgramFilesX86,
CommonProgramFiles, CommonProgramFilesX86, CommonTemplates, CommonDocuments,
CommonAdminTools, AdminTools, CommonMusic, CommonPictures, CommonVideos,
Resources, LocalizedResources, CommonOemLinks, CDBurning
)
pram 3 : $SelectedPath = ""
: デフォルト選択フォルダーを指定
#>
Function global:Select-FolderDialog
{
param( [string]$Description="フォルダーを選択して下さい" ,
[string]$RootFolder="Desktop" ,
[String]$SelectedPath = "" )
# .NET Frameworkのダイアログ関連オブジェクトの取り込み
Set-StrictMode -version Latest
Add-Type -AssemblyName System.Windows.Forms;
# フォルダー選択ダイアログのオブジェクト取得
$objForm = New-Object System.Windows.Forms.FolderBrowserDialog;
# 表示開始のフォルダーを指定
$objForm.Rootfolder = $RootFolder
# デフォルト選択フォルダーを指定
$objForm.SelectedPath = $SelectedPath
# ダイアログへ説明文を追加
$objForm.Description = $Description
# ダイアログを表示しフォルダー選択を実行
if ( $objForm.ShowDialog() -eq "OK" ) {
Return $objForm.SelectedPath # フォルダー選択あり
}
else {
Return "" # フォルダー選択なし
}
}
# ----< 使用事例 >----
# $folder = Select-FolderDialog -Description "Select Folder" -RootFolder "DeskTop"
$folder = Select-FolderDialog -SelectedPath "F:\pdf_buff\pdf01"
$folder