Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File Powershell:如何从单独的窗口打开文件_File_Powershell_Download - Fatal编程技术网

File Powershell:如何从单独的窗口打开文件

File Powershell:如何从单独的窗口打开文件,file,powershell,download,File,Powershell,Download,我现在正在使用PowerShell大约一个星期。我能够打开一个特定的URL,并自动填写我的用户名和密码。我还可以导航到某个页面,在那里可以找到多个文件进行下载 我使用以下命令选择要下载的特定文件: $ie.navigate2('http://www.example.com/resource.aspx?ResourceID=GetDocStoreFile&EntryID=1234') 接下来将打开第二个窗口,名为“文件下载”。有三个按钮:打开、保存和关闭 我不想手动按下“打开”按钮,但希

我现在正在使用PowerShell大约一个星期。我能够打开一个特定的URL,并自动填写我的用户名和密码。我还可以导航到某个页面,在那里可以找到多个文件进行下载

我使用以下命令选择要下载的特定文件:

$ie.navigate2('http://www.example.com/resource.aspx?ResourceID=GetDocStoreFile&EntryID=1234')
接下来将打开第二个窗口,名为“文件下载”。有三个按钮:打开、保存和关闭


我不想手动按下“打开”按钮,但希望脚本为我这样做,然后返回到原始窗口选择另一个文件。有什么建议吗?

如果您使用下载URL,我认为您无法使用COM对象直接与IE交互,因为没有文档。对话框打开后,对象的所有属性都将变为null。您可以使用我在这里发布的方法:AppActivate将按标题激活对话框

%表示ALT键,因此,如果要单击的按钮的下划线字母为O,则可以按如下方式调用SendKeys

$wshell.SendKeys('%O')

如果您使用下载URL,我认为您无法使用COM对象直接与IE交互,因为没有文档。对话框打开后,对象的所有属性都将变为null。您可以使用我在这里发布的方法:AppActivate将按标题激活对话框

%表示ALT键,因此,如果要单击的按钮的下划线字母为O,则可以按如下方式调用SendKeys

$wshell.SendKeys('%O')

谢谢你的回复。我理解你的想法,但到目前为止我还不能让它工作。我想这与AppActivate命令有关。是否使用此命令将激活某个应用程序?在我的例子中,“文件下载”窗口已经处于活动状态,因为它会弹出。基本上,什么都没有发生。如果你能给我更多的指示/建议,我将不胜感激。否则,我必须接受我必须手动按下“打开”按钮。除非将$ie.Visible设置为$true,否则它不会处于活动状态。但我认为在这种情况下你甚至无法做到这一点,因为正如我所说的,如果你导航到一个下载链接,所有的属性都会被清空。这就是为什么你需要AppActivate。如果你能更具体一点,我可以更具体一点。在问题中添加屏幕截图的图片。另外,请具体告诉我您尝试了哪些不起作用的方法。@Andrewermeulen这种方法确实有效,我已经测试过了。如果你能比“我不能让它工作”更具体一些,我可以告诉你误解在哪里。首先,“活动”不仅仅意味着它正在运行,还意味着它是您正在与之交互的前台应用程序。因此,不,文件下载窗口尚未激活。它在后台启动,您需要使用AppActivate将其设置为活动窗口,以便向其发送击键。你真的试过了吗?谢谢你的回复。我理解你的想法,但到目前为止我还不能让它工作。我想这与AppActivate命令有关。是否使用此命令将激活某个应用程序?在我的例子中,“文件下载”窗口已经处于活动状态,因为它会弹出。基本上,什么都没有发生。如果你能给我更多的指示/建议,我将不胜感激。否则,我必须接受我必须手动按下“打开”按钮。除非将$ie.Visible设置为$true,否则它不会处于活动状态。但我认为在这种情况下你甚至无法做到这一点,因为正如我所说的,如果你导航到一个下载链接,所有的属性都会被清空。这就是为什么你需要AppActivate。如果你能更具体一点,我可以更具体一点。在问题中添加屏幕截图的图片。另外,请具体告诉我您尝试了哪些不起作用的方法。@Andrewermeulen这种方法确实有效,我已经测试过了。如果你能比“我不能让它工作”更具体一些,我可以告诉你误解在哪里。首先,“活动”不仅仅意味着它正在运行,还意味着它是您正在与之交互的前台应用程序。因此,不,文件下载窗口尚未激活。它在后台启动,您需要使用AppActivate将其设置为活动窗口,以便向其发送击键。你真的试过了吗?