Как указать начальный путь, показанный в FolderBrowserDialog с помощью PowerShell - PullRequest
1 голос
/ 06 июня 2019
Function Get-Folder($initialDirectory)
{
    [System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms")|Out-Null

    $foldername = New-Object System.Windows.Forms.FolderBrowserDialog
    $foldername.Description = "Select a folder"
    $foldername.rootfolder = "NetworkShortcuts"

    if($foldername.ShowDialog() -eq "OK")
    {
        $folder += $foldername.SelectedPath
    }
    return $folder
}

$a = Get-Folder

Как указать начальный каталог вместо Desktop или NetworkShortcuts. Я хочу указать путь как F: \ Folder1

Ответы [ 2 ]

1 голос
/ 06 июня 2019

Поменяйте rootfolder на SelectedPath, и это должно быть то, что вы ищете.

Function Get-Folder($initialDirectory)
{
    [System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms")|Out-Null

    $foldername = New-Object System.Windows.Forms.FolderBrowserDialog
    $foldername.Description = "Select a folder"
    $foldername.SelectedPath = "F:\Folder1"

    if($foldername.ShowDialog() -eq "OK")
    {
        $folder += $foldername.SelectedPath
    }
    return $folder
}

$a = Get-Folder
1 голос
/ 06 июня 2019

Это функция, которую я держу под рукой на случай, если она мне понадобится:

Function Get-FolderPath{
[CmdletBinding()]
Param(
    [String]$Description,
    [String]$InitialDirectory = "C:\",
    [Switch]$NewFolderButton = $false)

    [void][System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms")
    $FolderBrowserDialog = New-Object System.Windows.Forms.FolderBrowserDialog
    $FolderBrowserDialog.SelectedPath = $InitialDirectory
    $FolderBrowserDialog.Description = $Description
    $FolderBrowserDialog.ShowNewFolderButton = $NewFolderButton
    If($FolderBrowserDialog.ShowDialog() -eq "OK"){
        $FolderBrowserDialog.SelectedPath
    }
}

Использование довольно просто:

$a = Get-FolderPath -Description "Select a folder" -InitialDirectory "F:\Folder1" -NewFolderButton

Или пропустите -NewFolderButton, если вы не используетене хочу, чтобы эта кнопка появлялась.

...