PowerShell-使用资源管理器的控制台输入

PowerShell-使用资源管理器的控制台输入,powershell,Powershell,场景:用户试图从PowerShell 3.0脚本上载文档。 当前机制:读取主机。请求路径/file.ext的简单字符串提示。 所需行为:提示(“请选择要上载的文件”)和 浏览器已启动。用户选择的路径/文件将传递给我的脚本 当然,我知道如何启动Explorer,只是不知道如何连接命令行 提示和与资源管理器一起选择文件 亲切问候, Paul这里有一个简单的脚本来完成你想做的事情。您还可以使用PowerGUI编译脚本,并让Powershell窗口在完成后自动关闭Powershell窗口,但这不是必需的

场景:用户试图从PowerShell 3.0脚本上载文档。
当前机制:读取主机。请求路径/file.ext的简单字符串提示。
所需行为:提示(“请选择要上载的文件”)和 浏览器已启动。用户选择的路径/文件将传递给我的脚本

当然,我知道如何启动Explorer,只是不知道如何连接命令行 提示和与资源管理器一起选择文件

亲切问候,


Paul

这里有一个简单的脚本来完成你想做的事情。您还可以使用PowerGUI编译脚本,并让Powershell窗口在完成后自动关闭Powershell窗口,但这不是必需的

$DestinationFolder = "L:\Users\caleb.berger\Desktop";

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

$OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog;
$OpenFileDialog.initialDirectory = $initialDirectory;
$OpenFileDialog.filter = "All files (*.*)| *.*";
$OpenFileDialog.ShowDialog() | Out-Null;
$OpenFileDialog.filename;
}

Write-Host "Please Select The File To Upload:";
$SourceFile = Get-FileName -initialDirectory "c:\";

Write-Host "Copying File...";
Copy-Item -LiteralPath $SourceFile -Destination $DestinationFolder -Force;
Write-Host "Finished.";
Read-Host "Press Any Key To Continue";
您可以在以下网站了解有关此功能的更多信息:


他的脚本就是我构建这个应用程序的基础。

google“file dialog powershell”第一个结果:虽然我欢迎你的回答,但我们不应该通过回答这些研究不足的问题来鼓励他们。警告:
LoadWithPartialName()
至少从.NET 2.0开始就存在了。您应该使用
Load()