[英]get a folder path from the explorer menu to a powershell variable
是否可以從powershell打開資源管理器窗口並將資源管理器中選擇的路徑存儲到變量中?
從powershell打開資源管理器窗口
PS C:> 資源管理器
也許這個腳本就是你想要的:
Function Select-FolderDialog
{
param([string]$Description="Select Folder",[string]$RootFolder="Desktop")
[System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") |
Out-Null
$objForm = New-Object System.Windows.Forms.FolderBrowserDialog
$objForm.Rootfolder = $RootFolder
$objForm.Description = $Description
$Show = $objForm.ShowDialog()
If ($Show -eq "OK")
{
Return $objForm.SelectedPath
}
Else
{
Write-Error "Operation cancelled by user."
}
}
用於:
$folder = Select-FolderDialog # the variable contains user folder selection
我發現在所選答案中使用反射有點尷尬。 下面的鏈接提供了更直接的方法
復制粘貼相關代碼:
Add-Type -AssemblyName System.Windows.Forms
$FolderBrowser = New-Object System.Windows.Forms.FolderBrowserDialog
[void]$FolderBrowser.ShowDialog()
$FolderBrowser.SelectedPath
以上對我不起作用。 使用 Powershell 版本 2 運行 Windows 7。我確實找到了以下內容,它確實允許彈出和選擇:
Function Select-FolderDialog
{
param([string]$Description="Select Folder",[string]$RootFolder="Desktop")
[System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") Out-Null
$objForm = New-Object System.Windows.Forms.FolderBrowserDialog
$objForm.Rootfolder = $RootFolder
$objForm.Description = $Description
$Show = $objForm.ShowDialog()
If ($Show -eq "OK")
{
Return $objForm.SelectedPath
}
Else
{
Write-Error "Operation cancelled by user."
}
}
以防萬一其他人有同樣的問題。
只是想貼一個附錄,我相信有管道|
中間缺失:
[System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms")
和:
Out-Null
這是一個打開資源管理器對話框窗口的解決方案,要求用戶選擇一個文件夾。 然后將文件夾路徑存儲在名為“path”的變量中:
Add-Type -AssemblyName System.Windows.Forms
$browser = New-Object System.Windows.Forms.FolderBrowserDialog
$null = $browser.ShowDialog()
$path = $browser.SelectedPathode
只有在我將“ .SelectedPathode ”替換為“ .SelectedPath ”之后,您的代碼才對我有用
Add-Type -AssemblyName System.Windows.Forms
$browser = New-Object System.Windows.Forms.FolderBrowserDialog
$null = $browser.ShowDialog()
$path = $browser.SelectedPath
這里也是關於各自屬性的文檔 - https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.folderbrowserdialog.selectedpath?view=net-5.0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.