我正在编写一个包含文本框的脚本。用户单击它并打开Windows资源管理器。我希望用户双击一个文件,当他这样做时,文件的名称将写在文本框中,所以我可以使用它来继续脚本。 无法找到如何做到这一点的答案。 那么如何从资源管理器中选择一个文件并将其名称插入文本框? 谢谢你的帮助,Ofir。
答案 0 :(得分:2)
试试这个
[System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") | Out-Null
Function Get-FileName($initialDirectory)
{
[System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") |
Out-Null
$OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog
$OpenFileDialog.Title = "Choose a file"
$OpenFileDialog.initialDirectory = $initialDirectory
$OpenFileDialog.filter = "Text files (*.txt)| *.txt"
$OpenFileDialog.ShowDialog() | Out-Null
$OpenFileDialog.filename
}
$Form1 = New-Object Windows.Forms.Form
$Form1.Size = New-Object System.Drawing.Size(400,370)
$InputBox3 = New-Object System.Windows.Forms.TextBox
$InputBox3.Location = New-Object System.Drawing.Size(51,219)
$InputBox3.Size = New-Object System.Drawing.Size(220,310)
$InputBox3.Multiline= $false
$Form1.Controls.Add($InputBox3)
$InputBox3.Add_Click({$InputBox3.Text = Get-FileName -initialDirectory "c:\temp"});
$Form1.ShowDialog()