用PowerShell提取当前IE游览器的网址
来源:互联网 发布:软件项目管理实践 编辑:程序博客网 时间:2024/04/30 06:30
If($Export){ $CurrentIEURL = GetIEURL If($CurrentIEURL -ne $null) { $CurrentIEURL|Export-Csv -Path "$Export" -NoTypeInformation Write-Host "成功导出Csv文件到 '$Export'" } Else { Write-Warning "当前没有打开的Tab栏。" }}If($OpenURL){ $URLs = (Import-Csv -Path $OpenURL).URL $IEApplication = New-Object -ComObject InternetExplorer.Application $navOpenInBackgroundTab = 0x1000 $IEApplication.Visible = $true ForEach($URL in $URLs) { Try { $IEApplication.Navigate($URL, $navOpenInBackgroundTab) While($IEApplication.Busy) { Start-Sleep -Millisecond 100 } Write-Host "成功打开 '$URL' 到IE游览器中。" } Catch { Write-Host "打开'$URL'失败。" } }}
其实在很久之前我就想写这篇文章,因为出于工作的原因,工作忙了一整天游览器打开了满满的Tab,而事情依然没有做完,回到家依然需要继续游览还没有看完的文档等等,可急忙又要赶车,即便是在线收藏夹也一时帮不了我,所以不如用PowerShell来写一个自动提取当前所有打开的游览地址,回家后再自动瞬间打开,可比手动收藏夹里保存方便多了。
代码如下:
[CmdletBinding(DefaultParameterSetName='Export')]Param( [Parameter(Mandatory=$true,Position=0,ParameterSetName='Open')] [Alias('Open')][String]$OpenURL, [Parameter(Mandatory=$true,Position=0,ParameterSetName='Export')] [Alias('path')][String]$Export)Function GetIEURL{ $IEObjs = @() $ShellWindows = (New-Object -ComObject Shell.Application).Windows() Foreach($IE in $ShellWindows) { $FullName = $IE.FullName If($FullName -ne $NULL) { $FileName = Split-Path -Path $FullName -Leaf If($FileName.ToLower() -eq "iexplore.exe") { $Title = $IE.LocationName $URL = $IE.LocationURL $IEObj = New-Object -TypeName PSObject -Property @{Title = $Title; URL = $URL} $IEObjs += $IEObj } } } $IEObjs}If($Export){ $CurrentIEURL = GetIEURL If($CurrentIEURL -ne $null) { $CurrentIEURL|Export-Csv -Path "$Export" -NoTypeInformation Write-Host "成功导出Csv文件到 '$Export'" } Else { Write-Warning "当前没有打开的Tab栏。" }}If($OpenURL){ $URLs = (Import-Csv -Path $OpenURL).URL $IEApplication = New-Object -ComObject InternetExplorer.Application $navOpenInBackgroundTab = 0x1000 $IEApplication.Visible = $true ForEach($URL in $URLs) { Try { $IEApplication.Navigate($URL, $navOpenInBackgroundTab) While($IEApplication.Busy) { Start-Sleep -Millisecond 100 } Write-Host "成功打开 '$URL' 到IE游览器中。" } Catch { Write-Host "打开'$URL'失败。" } }}
做一个简单的拆解:
这里我们设计了一个主方法,GetIEURL用来提取当前IE游览器中所有的Tab栏目地址,这里有一点需要提到的是,我们采用了,Com接口里的Shell.Application的对象,然后调用旗下的Windows方法来寻找当前打开的iexplore.exe进程,从而获取每一个IE进程的locationURL与LocationName
Function GetIEURL{ $IEObjs = @() $ShellWindows = (New-Object -ComObject Shell.Application).Windows() Foreach($IE in $ShellWindows) { $FullName = $IE.FullName If($FullName -ne $NULL) { $FileName = Split-Path -Path $FullName -Leaf If($FileName.ToLower() -eq "iexplore.exe") { $Title = $IE.LocationName $URL = $IE.LocationURL $IEObj = New-Object -TypeName PSObject -Property @{Title = $Title; URL = $URL} $IEObjs += $IEObj } } } $IEObjs}
在主方法设计完后,我们为了使整个方法满足我们的灵活需求,我们设计了Export和OpenURL两个参数,分别作用是导出提取的URL以及从导出的URL文件里自动打开所有的URL。
If($Export){ $CurrentIEURL = GetIEURL If($CurrentIEURL -ne $null) { $CurrentIEURL|Export-Csv -Path "$Export" -NoTypeInformation Write-Host "成功导出Csv文件到 '$Export'" } Else { Write-Warning "当前没有打开的Tab栏。" }}If($OpenURL){ $URLs = (Import-Csv -Path $OpenURL).URL $IEApplication = New-Object -ComObject InternetExplorer.Application $navOpenInBackgroundTab = 0x1000 $IEApplication.Visible = $true ForEach($URL in $URLs) { Try { $IEApplication.Navigate($URL, $navOpenInBackgroundTab) While($IEApplication.Busy) { Start-Sleep -Millisecond 100 } Write-Host "成功打开 '$URL' 到IE游览器中。" } Catch { Write-Host "打开'$URL'失败。" } }}
基本如上。
0 0
- 用PowerShell提取当前IE游览器的网址
- 用PowerShell捕获当前IE游览器内的网址
- js判断ie游览器
- 鼠标不能在IE游览器上滑动的解决方法
- javascript获取当前游览器的类型版本
- servlet实现判断当前访问的游览器类型源码
- javascript 游览器版本判断(IE FIREFOX)
- ie 游览器翻译小书签
- 在下载文件名中有空格时,firefox会自动截断,IE游览器的处理
- JavaScript的游览器对象
- 游览器的userAgent参数
- ie的网址问题
- JS 操作IE游览器常用函数使用说明
- 解析IE游览器URL中的 about:blank
- 利用代码使识别IE和其他游览器
- Powershell 设置 Win2008Server IE的安全级别
- 游览器的王者之争!
- 游览器中javascript的执行过程
- 人人,金山西山居,腾讯互娱,微信,网易游戏offer及面经
- libsvm使用
- Latex排版工具的使用(一)
- 基于webrtc技术的session border controler (SBC)
- c++ 中的rand()
- 用PowerShell提取当前IE游览器的网址
- (四)String、List
- app 检查版本更新
- 【天道酬勤】 腾讯、百度、网易游戏、华为Offer及笔经面经
- reactor模式与java nio
- php——学习笔记,开门见山,打印有颜色的字符串和北京时间
- Solr调研总结
- CSDN高校俱乐部第二届战神杯第二题题解
- java中GUI出现的问题及解决方法