【发布时间】:2019-07-17 05:52:41
【问题描述】:
在我的 powershell 脚本中,我打开一个FolderBrowserDialog 以从用户那里获取路径。我想允许用户创建新文件夹,但无论选择哪个文件夹,我都会收到此消息。
[窗口标题] 位置无效
[内容] 您不能在此处创建新文件夹。选择不同的 位置。
我想也许我需要提升 PowerShell 上的执行策略,但这并没有什么不同。
# [System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") | Out-Null
Add-Type -AssemblyName System.Windows.Forms
$FBD = New-Object System.Windows.Forms.FolderBrowserDialog
$FBD.ShowNewFolderButton = $True
$FBD.RootFolder = "MyComputer"
$FBD.SelectedPath = "C:\"
$FBD.Description = "Navigate and select directory"
$Choice = $FBD.ShowDialog()
if ($Choice -eq "OK")
{
Write-Host "Selected Path: " $FBD.SelectedPath
}
更新附加信息:
- 我可以在资源管理器中手动创建文件夹
- 我可以在 powershell 中使用“New-Item”创建文件夹,无需提升权限
我尝试过但没有成功的事情:
- 以提升的权限运行终端
- 使用 Python TKinter 文件对话框(同样的问题)?!
总而言之,调用 Windows 窗体似乎是一个 Windows 权限问题。
【问题讨论】:
-
运行表单的用户是否真的有权在
C:(或您导航到的任何位置)中创建新文件夹? -
@MathiasR.Jessen:用户可以使用“New-Item”在 powershell 中手动创建文件夹。表单有自己的权限吗?
-
不,那不是问题所在。这种情况是在文件夹层次结构中的任何地方发生,还是在特定位置发生?
-
它似乎并不局限于特定的位置。我尝试了多个层次结构,结果相同。
标签: powershell