Cod*_*olf 4 powershell explorer windows-7 windows-8
我想获得所有打开资源管理器窗口标题和当前路径的报告.这样做的电流通路的部分是问题回答这里用C#,但我想这对PowerShell和我不知道如何去适应它.我不知道如何将窗口标题带出来.
有人可以请你帮忙.
听起来像你正在寻找这样的东西:
$app = New-Object -COM 'Shell.Application'
$app.Windows() | Select-Object LocationURL
Run Code Online (Sandbox Code Playgroud)
AFAICS窗口对象没有title属性,但您可以Get-Process通过窗口句柄ID 获取该信息:
function Get-WindowTitle($handle) {
Get-Process |
Where-Object { $_.MainWindowHandle -eq $handle } |
Select-Object -Expand MainWindowTitle
}
$app = New-Object -COM 'Shell.Application'
$app.Windows() |
Select-Object LocationURL, @{n='Title';e={Get-WindowTitle $_.HWND}}
Run Code Online (Sandbox Code Playgroud)
Ansgar Wiechers 的回答很有帮助,但文件资源管理器窗口的标题不一定包含所显示的位置(文件夹)的完整路径。
有点晦涩的是,它是包含完整路径、本地路径或 UNC 路径的 COM 对象的方法.Document.Folder.Self.Path返回的窗口对象的属性.Windows()Shell.Application。
因此,以下列出了所有打开的资源管理器窗口的完整路径:
(New-Object -ComObject 'Shell.Application').Windows() | ForEach-Object {
$_.Document.Folder.Self.Path
}
Run Code Online (Sandbox Code Playgroud)
注意:特殊位置(例如文件资源管理器的“快速访问”)由 - 前缀的 GUID 表示::;例如,::{679F85CB-0220-4080-B29B-5540CC05AAB6}
| 归档时间: |
|
| 查看次数: |
2386 次 |
| 最近记录: |